美团编程第一个太简单,第二个有点尴尬,从技术改回暴力
#第一题应该大部分都是AC
#第二题一开始试了一下暴力,果然只有70%,看来是内存溢出
#然而对于能被7整除的数可以做如下判断:
/*若一个整数的个位数字截去,再从余下的数中,减去个位数的2倍,
如果差是7的倍数,则原数能被7整除。如果差太大或心算不易看出是否7的倍数,
就需要继续上述「截尾、倍大、相减、验差」的过程,直到能清楚判断为止。
例如,判断133是否7的倍数的过程如下:13-3×2=7,所以133是7的倍数;
又例如判断6139是否7的倍数的过程如下:613-9×2=595 , 59-5×2=49,所以6139是7的倍数,余类推*/
def judge(n):
l_n = len(n)
while l_n > 3:
n = str(int(n[:(l_n-1)]) - int(n[-1])*2)
#这里也尝试过将int改为long等其他类型以免溢出
l_n = len(n)
if int(n) % 7 == 0:
return True
else:
return False
n = int(raw_input())
s = raw_input().split()
num = 0
for i in range(n-1):
for j in range(i+1,n):
l = s[i]+s[j]
if judge(l):
num += 1
r = s[j]+s[i]
if judge(r):
num += 1
print num
#最后发现只能10%,不应该啊,就算也会溢出,那暴力过的那70%应该没问题啊!!!
#求大神解答
#美团#
