py菜鸟求助:循环已经优化了范围,但为什么反而变WA?
查看原帖
py菜鸟求助:循环已经优化了范围,但为什么反而变WA?
786937
Monicaca楼主2022/9/10 12:25

这是第一次提交的代码,显示1,3,5测试点TLE了,所以我就想着把循环的范围缩小:

L = int(input())
s = 0
q = []
num = 0
for i in range(1,L+1):
    k = 0
    for j in range(1,L+1):
        if i % j == 0:
            k += 1
    if k == 2 and s < L:
        q.append(i)
        num += 1
        s += i
q.append(num)
for o in q:
    print(o)
    

下面这是第二次提交的代码,我把第二个for循环的范围缩小了,但是3测试点还是TLE,而且1,5测试点还变成WA了。实在是虚心求教,这到底是为什么呢?

import math
L = int(input())
s = 0
q = []
num = 0
for i in range(2,L+1):
    h = int(math.sqrt(i))
    k = 0
    for j in range(1,h+1):
        if i % j == 0:
            k += 1
    if k == 1 and s<L:
        q.append(i)
        num += 1
        s += i
q.append(num)
for o in q:
    print(o)
2022/9/10 12:25
加载中...