题解 | #筛选法求素数#

筛选法求素数

https://www.nowcoder.com/practice/06c3dcc303654ef4926654023eca1e5a

import sys
'''
凡是非素数,除1和自身外,都不能被2、3、5和7整除
题意是:
    第一行输出2~n之间的素数
    第二行输出非素数的个数
'''
basic = [2, 3, 5, 7]
for line in sys.stdin:
    a = int(line)
    primes = []
    for i in range(2, a + 1):
        if i in basic:
            primes.append(i)
        else:
            isPrime = True
            for j in basic:
                if i % j == 0:
                    isPrime = False
                    break
            if isPrime:
                primes.append(i)
    for s in primes:
        print(s, end=" ")
    print(f"\n{a - len(primes) - 1}")

全部评论

相关推荐

不愿透露姓名的神秘牛友
08-11 17:58
怎么感觉全世界都转码了
蜻蜓队长:其实很多转码的人本身是非常适合学计算机的,只是自己当年没选对专业😂
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务