筛质数

筛选法求素数

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

import java.util.*;
public class Main {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()){
            int n = sc.nextInt();
            int[] v = new int[n + 1];
            for(int i = 0; i <= n; ++i) v[i] = i;
            v[1] = 0;
            int c = 1;
            for(int i = 0; i <= n; ++i){
                if(v[i] != 0){
                    System.out.printf("%d ", v[i]);
                    c++;
                    for(int j = 2; j*v[i] <= n; ++j){
                        v[j*v[i]] = 0;
                    }
                }
            }
            System.out.println();
            System.out.println(n - c);
        }
    }
}
全部评论

相关推荐

05-19 15:21
已编辑
华南农业大学 Java
白火同学:你才沟通了200,说实话,北上广深杭这里面你连一座城市的互联网公司都没投满呢,更别说还有各种准一线二线城市了。等你沟通突破了三位数,还没结果再考虑转行的事吧。
点赞 评论 收藏
分享
晗江雪:其实我只是觉得你们导员说的很好笑
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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