输入多组测试序列,每组序列由5个正整数构成,数字由空格隔开。特别地,当输入五个0时,测试结束。(注意:公差不为0,公比不为1)
若待测序列为等差数列,输出Arithmetic Progression
;
若待测序列为等比数列,输出Geometric Progression
;
若待测序列为斐波那契数列,输出Fibonacci Sequence
;
若待测序列为5个0,输出End Of Input
;
否则输出 Input Error
。
输入
1 2 3 4 5
1 2 4 8 16
1 1 1 1 1
0 9 4 3 8
0 0 0 0 0
输出
Arithmetic Progression
Geometric Progression
Input Error
Input Error
End Of Input
#include<stdio.h>
int main(){
for(;;){
float A[5];
scanf("%f %f %f %f %f",&A[0],&A[1],&A[2],&A[3],&A[4]);
if(A[0]==A[1]&&A[1]==A[2]&&A[2]==A[3]&&A[3]==A[4]&&A[4]==0){
printf("End Of Input\n");break;}
else if(A[4]-A[3]==A[3]-A[2]&&A[3]-A[2]==A[2]-A[1]&&A[2]-A[1]==A[1]-A[0]&&A[1]-A[0]!=0){
printf("Arithmetic Progression\n");}
else if(A[0]==A[1]&&A[1]==A[2]&&A[2]==A[3]&&A[3]==A[4]&&A[4]==0){
printf("End Of Input\n");break;}
else if(A[4]/A[3]==A[3]/A[2]&&A[3]/A[2]==A[2]/A[1]&&A[2]/A[1]==A[1]/A[0]&&A[1]/A[0]!=1){
printf("Geometric Progression\n");}
else if(A[4]-A[3]==A[2]&&A[3]-A[2]==A[1]&&A[2]-A[1]==A[0]&&A[0]!=0){
printf("Fibonacci Sequence\n");}
else
printf("Input Error\n");
}
return 0;
}