筛质数

筛选法求素数

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);
        }
    }
}
全部评论

相关推荐

积极的小学生不要香菜:你才沟通多少,没500不要说难
点赞 评论 收藏
分享
认真搞学习:这么良心的老板真少见
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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