【练习五】用Java设计一个素数的判断与统计
本文介绍了素数的定义及判断方法,并提供了一个Java程序实现。素数是指大于1且只能被1和自身整除的自然数,如7。程序包含两个方法:main方法遍历101-200的数字并统计素数个数;isPrime方法通过检查2到n-1之间的数是否能整除n来判断素数。程序输出101-200之间的所有素数及其总数,为素数判断提供了实用示例。
·
目录
一、何为素数?
1. 定义:
素数:又称质数,是指在大于 1 的自然数中,除了 1 和它本身以外不再有其他因数的自然数。
2. 例如:
判断数字 7 是否为素数?
1)7 是大于 1 的自然数
2)检查它能否被 2~6 之间的数整除:
7 / 2 = 3 余 1(不能整除)
7 / 3 = 2 余 1(不能整除)
7 / 4 = 1 余 3(不能整除)
7 / 5 = 1 余 2(不能整除)
7 / 6 = 1 余 1(不能整除)
结论:7 是素数
二、该代码主要实现以下功能:
主方法(main):
- 定义了一个计数变量
count用于统计素数个数- 使用
for循环遍历101 到 200 之间的所有整数- 对每个数字调用
isPrime方法判断是否为素数- 如果是素数,则打印该数字并让计数变量
count加 1- 循环结束后,打印统计的素数总个数
素数判断方法(isPrime):
- 接收一个整数参数
n- 通过
for循环检查从 2 到 n-1 之间的所有整数- 如果
n能被其中任何一个数整除(即n%i == 0),则n不是素数,返回false- 如果循环结束都没有找到能整除
n的数,则n是素数,返回true
三、实现以上功能的代码如下:
package Demo;
public class TestIsPrime {
/**
* 目标:找出101-200之间的全部素数,并进行统计个数。
* 何为素数:只能被1和自身整除的数字。
*/
public static void main(String[] args) {
int count = 0;
//1、遍历101-200之间的所有数字
for (int i=101;i<=200;i++){
//2、每遍历到一个数字,判断这个数字是否是素数,是素数则输出。(独立判断素数的方法)
if(isPrime(i)){
System.out.println(i);
count++;//统计素数个数
}
}
System.out.println("素数个数:"+count);//输出素数个数
}
/**
* 该方法功能:判断一个数字是否为素数
* @param n 待判断的正整数
* @return true表示n是素数,false表示n不是素数
*/
public static boolean isPrime(int n){
//3、判断素数的方法:遍历2-n之间的所有数字
for (int i=2;i<n;i++){
//4、每遍历到一个数字,判断n是否被i整除,被i整除则不是素数,返回false。
if(n%i==0){
return false;
}
}
//5、循环结束,n没有被2-n之间的数字整除,则n是素数,返回true。
return true;
}
}
更多推荐



所有评论(0)