通过简单的判断语句,优化双循环,大大降低运行时间。
while True:
    try:
        n = int(input())

        res = 0
        for i in range(2, n+1):
            yinzi = []
            if i % 2 == 0:   # 循环缩减一半
                for j in range(1, i//2+1):
                    if i % j == 0:
                        yinzi.append(j)
                if sum(yinzi) == i:
                    res += 1
            elif i % 3 == 0:   # 循环缩减2/3
                for j in range(1, i//3+1):
                    if i % j == 0:
                        yinzi.append(j)
                if sum(yinzi) == i:
                    res += 1
        print(res)
    except:
        break