1问题描述
校验和可以用来核查大量数据的准确性,如小王传递一组数给小张,小王传递前可以计算下校验和后传递给小张,小张再计算一次来确保准确性。
你将计算一组数的校验和,每个数都会与结果变量相加后乘113随后与10000007求余的到新的结果变量。
校验和计算方法
choose some arbitrary number (primes are good) as seed - let us use 113;
choose some big number as the limit for checksum - let it be 10000007;
initialize result value to 0;
initialize array index to the start of array;
add the member pointed by index to result;
multiply result by seed;
take the result by modulo limit (i.e. take the remainder of dividing result by limit if necessary);
increment index to point to next element of array;
if array is not exhausted, return to step 4.
图例
2代码
numInput=input()
result=0
mod=10000007
lineInput=list(map(int,input().split()))
for a in lineInput:
result=((result+a)*113)%mod
print(result)
def checkSum( ):
array = input().split()
result = 0
for number in range(len(array)):
result += int(array[number])
result *= 113
result %= 10000007
print(result)
checkSum(input())