sdjzu 1072

来源:互联网 发布:org.apache.http下载 编辑:程序博客网 时间:2024/05/16 06:48

1072:找规律填数字分数: 1

时间限制:1 秒
内存限制:32 兆
特殊判题: 否
提交:52
解决: 11

题目描述

小宇正在读小学,今天老师布置了几道数学题目。小宇平时上课经常不专心,这些他可发愁了,怎么办呢?看看你能不能帮帮他。
题目是给你一组有规律序列的前面5个整数,请你给出它后面跟着的5个整数,如:1,2,3,4,5,___,___,___,__,___。这是个等差数列,后面应该是6,7,8,9,10,就这么简单。而且现在小宇已经知道这串序列要么是等差数列,要么是等比数列或者是斐波那契数列。

输入格式

输入包含多组测试数据。每组输入5个整数,每个数字之间隔一个空格,当5个数字都为0时输入结束。

输出

对于每组输入,输出这串数列的后面5个数字,每个数字之间隔一个空格。

样例输入

1 2 3 4 5
1 2 4 8 16
1 2 3 5 8
0 0 0 0 0

样例输出

6 7 8 9 10
32 64 128 256 512
13 21 34 55 89

提示[+]

*** 提示已隐藏,点击上方 [+] 可显示 ***


这是一个简单题目,但是想过却不容易的


#include<iostream>#include<cstdio>#include<cstring>struct info{    int flag;    double  a;}unit[100];using namespace std;int main(){    int i,j,k,l;    while(cin>>unit[0].a>>unit[1].a>>unit[2].a>>unit[3].a>>unit[4].a)    {     if((unit[0].a==0)&&(unit[1].a==0)&&(unit[2].a==0)&&(unit[3].a==0)&&(unit[4].a==0))     break;     for(i=0;i<5;i++)     unit[i].flag=0;     double  d1,d2,d3,d4,d5;     d5=1;     for(k=0;k<3&&d5;)     {         if(k==0)//dengcha         {             d1=unit[1].a-unit[0].a;             d2=unit[2].a-unit[1].a;             d3=unit[3].a-unit[2].a;             d4=unit[4].a-unit[3].a;             if((d1==d2)&&(d2==d3)&&(d3==d4))             {                 unit[0].flag=1;                 d5=0;             }             k++;         }         else         if(k==1)         {             d1=unit[1].a/unit[0].a;             d2=unit[2].a/unit[1].a;             d3=unit[3].a/unit[2].a;             d4=unit[4].a/unit[3].a;             //printf("%d %d %d %d",d1,d2,d3,d4);             if((d1==d2)&&(d2==d3)&&(d3==d4))             {                 unit[0].flag=2;                 d5=0;                 break;             }             k++;         }         else         if(k==2)         {             unit[0].flag=3;             d5=0;         }     }     if((unit[0].a==unit[1].a)&&(unit[1].a==unit[2].a)&&(unit[2].a==unit[3].a)&&(unit[3].a==unit[4].a)&&unit[0].a!=0)    {           for(i=0;i<2;i++)           printf("%.f %.f %.f %.f %.f\n",unit[0].a,unit[1].a,unit[2].a,unit[3].a,unit[4].a);    }     else     if(unit[0].flag==1)     {         d1=unit[1].a-unit[0].a;         unit[5].a=unit[4].a+d1;         for(i=6;i<10;i++)         {             unit[i].a=unit[i-1].a+d1;         }         for(i=5;i<9;i++)          printf("%.f ",unit[i].a);         printf("%.f\n",unit[9].a);     }     else     if(unit[0].flag==2)     {         d1=unit[1].a/unit[0].a;         unit[5].a=unit[4].a*d1;         //printf("kkk%dkkk\n",d1);         for(i=6;i<10;i++)         {             unit[i].a=unit[i-1].a*d1;         }          for(i=5;i<9;i++)         printf("%.f ",unit[i].a);         printf("%.f\n",unit[9].a);     }     else     {         for(i=5;i<10;i++)         {             unit[i].a=unit[i-1].a+unit[i-2].a;             //printf(" h%dh \n",unit[i].a);         }          for(i=5;i<9;i++)          printf("%.f ",unit[i].a);         printf("%.f\n",unit[9].a);     }    }}


原创粉丝点击