Java 程序,使用 for 循环显示前 100 个素数


2022 年 12 月 20 日, Learn eTutorial
2662

什么是素数?

素数是指大于 1 且只有两个因数的数字。第一个因数是 1,第二个因数是数字本身。

示例:3 5 7 11 13 17 等。

注意:数字 1 不是素数,它只有一个因数,素数将有两个因数

下图显示了一些数字及其除数/因数。正如你所看到的,数字 2、3、5、7 只有 2 个除数,即 1 和数字本身,这些数字被称为素数。为了在我们的程序中找到素数,我们使用这种寻找因数的技术。

只有 2 个除数的数字是素数,其他是合数。

Prime Number

如何实现 Java 程序来显示前 100 个素数?

首先,我们必须声明类 PrmNum。然后声明变量。这里我们使用 while 循环for 循环 来实现这个程序。while 循环 用于计数直到打印出 100 个素数。for 循环 用于检查从 2 开始的数字是否为素数。数字存储在变量 i 中,除数存储在 j 中,然后检查从 1 到小于 i 的数字的每个 j,如果 i mod j 等于零(即,j 是 i 的因数),则将计数器变量 fct_count 加一。退出 for 循环 后,我们检查 fct_count 的值,如果它是 2,那么我们将显示该数字,即因数计数为 2 意味着该数字是素数。同时,将素数计数器 prm_count 加一。然后继续对下一个数字执行此过程,为此将 i 加一。

Prime Number

算法

步骤 1:使用公共修饰符声明类 PrmNum

步骤 2:打开 main() 以启动程序,并声明整数变量 i, j, fct_count, prm_count

步骤 3:初始化 i=2prm_count=0,其中 i 存储用于素数检查的数字,prm_count 存储素数的计数。

步骤 4:启动一个 while 循环,条件为 prm_count != 100,以打印 100 个素数。如果条件为真,则执行步骤 5、6、8、9。

步骤 5:设置 fct_count=0,它存储数字 i 中因数的计数。

步骤 6:使用 for 循环,从 i1,将 j 递减 1,执行步骤 7。

步骤 7:如果 i % j == 0,则将 fct_count 加一。

步骤 8:检查 fct_count 中的值是否为 2,如果是,则 i 是素数,打印它并将 prm_count 加一。

步骤 9:将 i 递增到下一个数字。


此程序使用以下 Java 概念,因此我们建议参考以下主题以更好地理解。


相关程序: 请查看此程序以打印 1 到 100 之间的素数,以了解更多关于素数程序的信息。

Java 源代码

                                          import java.util.Scanner;
public class PrmNum {
    public static void main(String[] args) {
        int i=2, j,fct_count,prm_count = 0;

        System.out.println("First 100 prime numbers are :");
        while(prm_count!=100){ // print 100 prime numbers
            fct_count=0;
            for (j = i; j >= 1; j--) { // find the factors of number i
                if (i % j == 0) { 
                    fct_count = fct_count + 1; // a factor found, increment the factor count
                }
            }
            if (fct_count == 2){ // only 2 factors, it's prime so print i and increment the prime number count
                System.out.print("" + i + " ");
                prm_count = prm_count + 1;
            }
            i= i+1;
        }
    }
}
                                      

输出

First 100 prime numbers are :
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229 233 239 241 251 257 263 269 271 277 281 283 293 307 311 313 317 331 337 347 349 353 359 367 373 379 383 389 397 401 409 419 421 431 433 439 443 449 457 461 463 467 479 487 491 499 503 509 521 523 541