1069745273


私信TA

用户名:1069745273

访问量:5338

签 名:

Just do IT.

等  级
排  名 261
经  验 5712
参赛次数 3
文章发表 166
年  龄 0
在职情况 待业
学  校
专  业 计算机科学与技术

  自我简介:

import java.io.*;

/**
 * 筛法求素数
 */

public class Main {
    public static BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
    public static BufferedWriter out = new BufferedWriter(new OutputStreamWriter(System.out));
    public static StreamTokenizer cin = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
    public static PrintWriter cout = new PrintWriter(new OutputStreamWriter(System.out));

    static boolean[] judgeNumber(int n) {
        boolean[] f = new boolean[n + 1];
        f[1] = false;
        for (int i = 2; i < n; i++) { // 把从 2 开始的数全部初始化
            f[i] = true;
        }
        f[0] = false; // 0 无意义,置为 false
        for (int i = 2; i <= n; i++) { // 质数的倍数(1 倍数除外)必然是合数
            if (f[i] == true) {
                for (int j = 2; j * i <= n; j++) {
                    f[i * j] = false;
                }
            }
        }
        return f;
    }

    public static void main(String[] args) throws Exception {
        cin.nextToken();
        int n = (int) cin.nval;
        boolean[] b = judgeNumber(n);
        for (int i = 0; i < b.length; i++) {
            if (b[i] == true) {
                cout.println(i);
            }
        }
        cout.flush();
    }
}
 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区