这是题目
我写的程序如下
多次检查都找不出哪里出了错,但第一个号码应该输出YES,我的总是NO
for i in range(1,17) 这个意思是1-16 少算一位,应该是for i in range(1,18) 1-17,if x[17]判断放在第二个for循环外(向前缩进移位),改的代码如下
n = int(input())
for i in range(n):
x = input()
sum = 0
for j in range(1,18):
sum += (int(x[i-1]))*(2**(18-i))
if x[17] == "X":
sum += 10
else:
sum += int(x[17])
if sum % 11 == 1:
print("YES")
else:
print("NO")