Python算术序列
题:
在数学中,当算术序列中的数字序列使得连续项之间的差为常数时,则称为算术常数。
埃里克(Eric)正在写一个带有N个项的算术序列,但是在写时他错误地输入了错误的单词,并且他确信第一个项是正确的。帮助他找到他输入的错误术语。
输入:
输入的第一行包含一行T,代表测试用例的数量。然后每个测试用例的第一行包含一个整数ñ- 术语的总数。然后,用N个空格分隔的整数表示该序列。
Test Cases: 2
5
1 3 5 6 9
4
1 2 3 5输出:
对于每个测试用例,请打印输入错误的术语。
6
5限制条件:
1<=T<=100
4<=N<=1000
1<=Terms<=1000说明:
在这个问题中,给出了算术序列,我们必须找到错误的输入序列号。因此,首先我们要找到在算术序列中恒定的序列之间的共同差异,然后检查序列并找到错误的数字。这个问题主要集中在算术上sequence(AP)。
为了解决这个问题,我们使用Python3。
码:
#输入测试用例
print("Enter test cases (T): ")
t = int(input())
while (t > 0):
t -= 1
print("Enter number of elements (N): ")
N = int(input())
print("Enter elements separated by spaces: ")
arr = list(map(int, input().split()))
#在不同的变量中分配数组的值
a = arr[0]
b = arr[1]
c = arr[2]
d = arr[3]
#比较数组元素之间的差异
if (b - a == c - b): #找共同点
diff = b - a
elif(c - b == d - c):
diff = c - b
else :
diff = d - a //3;
ref = arr[0]
#比较常见差异与数组元素
for i in range(1, N):
if (ref + diff == arr[i]):
ref = ref + diff
#打印数组中的错误元素
else :
print("Wrong term/number: ")
print(arr[i])
break输出结果
Enter test cases (T): 3 Enter number of elements (N): 5 Enter elements separated by spaces: 1 3 5 8 9 Wrong term/number: 8 Enter number of elements (N): 5 Enter elements separated by spaces: 10 20 30 35 50 Wrong term/number: 35 Enter number of elements (N): 7 Enter elements separated by spaces: 11 22 33 44 55 67 77 Wrong term/number: 67