题解 | #筛选法求素数#

筛选法求素数

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

用了c和python各写了一版,因为对python还是小白阶段,所以中间改了很久才出来 c:

#include<stdio.h>
int issushu(int n){
    int i;
    for(i=2;i<n;i++){
        if(n%i==0){
            return -1;
        }
    }
    return 1;
}
int main(){
    int n,k,count=0;
    while(scanf("%d",&n)!=EOF){
        for(k=2;k<=n;k++){
            if(issushu(k)==1){
                printf("%d ",k);
                count++;
            }
        }
        printf("\n");
        printf("%d",n-count-1);
    }
    return 0;
}

python:

import math
def sushu(k):
    for i in range(2,k):
        if k%i==0:
             return False
    return True
while True:
    try:
        count=0
        n=int(input())
        for k in range(2,n+1):
            if sushu(k):
                print(k,end='')
                print(' ',end='')
                count+=1
        print()
        print(n-count-1)
    except:
        break
全部评论

相关推荐

不愿透露姓名的神秘牛友
今天 11:00
点赞 评论 收藏
分享
07-02 22:46
门头沟学院 Java
码农索隆:hr:“管你投没投,先挂了再说”
点赞 评论 收藏
分享
见见123:简历没有啥问题,是这个社会有问题。因为你刚毕业,没有工作经历,现在企业都不要没有工作经历的。社会病了。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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