本文主要是介绍1072:找规律填数字,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目描述
小宇正在读小学,今天老师布置了几道数学题目。小宇平时上课经常不专心,这些他可发愁了,怎么办呢?看看你能不能帮帮他。
题目是给你一组有规律序列的前面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<stdio.h>
int main()
{
double d1,n1,n2,n3,n4,n5,a,b,c,d,e;
while(scanf("%lf %lf %lf %lf %lf",&n1,&n2,&n3,&n4,&n5)!=EOF && n1!=0
&& n2!=0 && n3!=0 && n4!=0 && n5!=0)
{
d1=0;
if(n2-n1==n3-n2 && n3-n2==n4-n3 && n4-n3==n5-n4)
{d1=n2-n1;
a=n5+d1;
b=a+d1;
c=b+d1;
d=c+d1;
e=d+d1;
}
else if(n2/n1==n3/n2 && n3/n2==n4/n3 && n4/n3==n5/n4)
{d1=n2/n1;
a=n5*d1;
b=a*d1;
c=b*d1;
d=c*d1;
e=d*d1;
}
else if(n1+n2==n3 && n2+n3==n4 && n3+n4==n5)
{a=n4+n5;
b=n5+a;
c=a+b;
d=b+c;
e=c+d;
}
printf("%.f %.f %.f %.f %.f\n",a,b,c,d,e);
}
return 0;
}
这篇关于1072:找规律填数字的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!