由于小星同学上课不专心,今天布置了几道数学题目他不会解答了。怎么办呢?这下他可发愁了!请热心的你来他。
题目是给你一组有规律序列的前面3个整数,请你给出它后面跟着的3个整数,如:1,2,4,,,。这个是等比数列,后面应该是8,16,32。(等比数列可以简单理解为相邻两项的比值(商)一定)
如果是1,2,3,,,。这是个等差数列,后面应该是4,5,6。(等差数列可以简单理解为相邻两项的差值一定)
现在小星已经知道这串序列要么是等比数列,要么是等差数列。
求
看一下,核心吧:
a, b, c = map(int, input().split())
if b - a == c - b: # 等差数列
d = b - a
print(c + d, c + 2 * d, c + 3 * d)
elif b % a == 0 and c % b == 0 and c // b == b // a: # 等比数列
r = b // a
print(c * r, c * r * r, c * r * r * r)
else:
print("输入的序列不是等差数列也不是等比数列")
#include<stdio.h>
int main()
{
int a1,a2,a3,a4,a5,a6;
scanf("%d%d%d",&a1,&a2,&a3);
if(a3-a2==a2-a1)
{
a4=a3+a2-a1;
a5=a4+a2-a1;
a6=a5+a2-a1;
}
else if(a3/a2==a2/a1)
{
a4=a3a2/a1;
a5=a4a2/a1;
a6=a5*a2/a1;
}
printf("%d %d %d",a4,a5,a6);
getch();
}
#include<stdio.h>
int main()
{
int a1,a2,a3,a4,a5,a6;
scanf("%d%d%d",&a1,&a2,&a3);
if(a3-a2==a2-a1)
{
a4=a3+a2-a1;
a5=a4+a2-a1;
a6=a5+a2-a1;
}
else if(a3/a2==a2/a1)
{
a4=a3*a2/a1;
a5=a4*a2/a1;
a6=a5*a2/a1;
}
printf("%d %d %d",a4,a5,a6);
getch();
}