if i == 1: return "*".join(list(map(str,li))) 这个 我想放到 if d == 0: i = i//j li.append(j) break 语句的li.append(j)下面一行 为什么会超时 但是 我上面这样写就不超时
import math a,b = list(map(int,input().split())) def get_prime(n): return filter(lambda x:not[x for i in range(2,int(math.sqrt(x))+1) if x%i == 0],range(2,n+1)) ll = get_prime(b) def fun(i,li = []): if i in ll: return i else: return fun2(i) def fun2(i): li = [] while True: dd = get_prime(i) for j in dd: d = i%j if d == 0: i = i//j li.append(j) break if i == 1: return "*".join(list(map(str,li))) for i in range(a,b+1): print("{}={}".format(i,fun(i))) 大佬可不可以帮忙看一下 这个 其中
火车远方 2020-03-13 20:57:51 |
我的微信是 ws586736