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