题目描述:
小宇正在读小学,今天老师布置了几道数学题目。小宇平时上课经常不专心,这些他可发愁了,怎么办呢?看看你能不能帮帮他。
题目是给你一组有规律序列的前面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
时间限制: 1000ms
空间限制: 32MB
代码如下:
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,b,c,d,e,f,h;
double g;
while(1){
cin>>a>>b>>c>>d>>e;
if(a==0&&b==0&&c==0&&d==0&&e==0){
break;
}
if(b-a==c-b&&c-b==d-c){
f=b-a;
for(int i=0;i<5;i++){
e=e+f;
cout<<e<<" ";
}
cout<<endl;
}else if((b*1.0/a==c*1.0/b)&&(c*1.0/b==d*1.0/c)){
g=b*1.0/a;
for(int i=0;i<5;i++){
e=e*g;
cout<<e<<" ";
}
cout<<endl;
}else{
for(int i=0;i<5;i++){
h=e+d;
cout<<h<<" ";
d=e;
e=h;
}cout<<endl;
}
}
return 0;
}
该篇文章是一个关于编程解决方案的示例,针对小学数学问题,特别是涉及等差数列、等比数列和斐波那契数列的题目。给定数列的前五个整数,程序会判断数列类型并计算出接下来的五个整数。输入包含多组测试数据,直到遇到所有数字为0的终止条件。代码使用C++编写,通过比较相邻项的关系来确定数列类型并进行计算。

3735

被折叠的 条评论
为什么被折叠?



