美团在线笔试题
美团笔试题:
从一个数组中随机找出两个数然后拼接成一个数,计算拼接组成的数中,有多少能整除7?
#coding:utf-8
import sys
if __name__ == "__main__":
while 1:
try:
n=raw_input()
n = int(n)
num_list=raw_input().split()
except:
break
len_list=[len(i) for i in num_list]
len_set=list(set(len_list))
num_list = map(int, num_list)
num_remainder_list=[i%7 for i in num_list]
count=0
for i in range(n):
tmp_product_list=[num*10**len_list[i] for num in num_list]
tmp_product_remainder_list=[product % 7 for product in tmp_product_list]
sum_remainder_list = map(lambda x: x + num_remainder_list[i], tmp_product_remainder_list)
sum_list= map(lambda x: x + num_list[i], tmp_product_list)
for j in range(n):
if j==i:
continue
if sum_remainder_list[j] ==7:
count+=1
print count,sum_list[j]
"""
count += add_remainder_list.count(7)
if add_remainder_list[i] == 7:
count -= 1
print count
"""
print 'anwser:',count
输出:
n: 3
num_list: ['127', '1996', '12']
count: 1 sum: 1996127 num_1: 1996 num_2: 127
count: 2 sum: 121996 num_1: 12 num_2: 1996
count: 3 sum: 12712 num_1: 127 num_2: 12
count: 4 sum: 199612 num_1: 1996 num_2: 12
anwser: 4
n: 13
num_list: ['127', '1996', '12', '13', '14', '15', '16', '17', '18', '12222', '3', '1', '34']
count: 1 sum: 1996127 num_1: 1996 num_2: 127
count: 2 sum: 15127 num_1: 15 num_2: 127
count: 3 sum: 1127 num_1: 1 num_2: 127
count: 4 sum: 121996 num_1: 12 num_2: 1996
count: 5 sum: 12712 num_1: 127 num_2: 12
count: 6 sum: 199612 num_1: 1996 num_2: 12
count: 7 sum: 1512 num_1: 15 num_2: 12
count: 8 sum: 112 num_1: 1 num_2: 12
count: 9 sum: 1813 num_1: 18 num_2: 13
count: 10 sum: 1715 num_1: 17 num_2: 15
count: 11 sum: 315 num_1: 3 num_2: 15
count: 12 sum: 1316 num_1: 13 num_2: 16
count: 13 sum: 3416 num_1: 34 num_2: 16
count: 14 sum: 1617 num_1: 16 num_2: 17
count: 15 sum: 1218 num_1: 12 num_2: 18
count: 16 sum: 133 num_1: 13 num_2: 3
count: 17 sum: 343 num_1: 34 num_2: 3
count: 18 sum: 161 num_1: 16 num_2: 1
count: 19 sum: 1834 num_1: 18 num_2: 34
anwser: 19
还有一道关灯的题,不过没做出来
浙公网安备 33010602011771号