美团编程第一个太简单,第二个有点尴尬,从技术改回暴力
#第一题应该大部分都是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%应该没问题啊!!! #求大神解答
#美团#