素数即只能被1和其本身整除的数,判断n是否为素数只需用2~n/2之间的数去除就可以了。因为一个数的一
半的平方大于其本身是从5开始的,解方程:n/2的平方>n 。即一个数n的两个因数不能同时比n/2大。就可
输出结果:
半的平方大于其本身是从5开始的,解方程:n/2的平方>n 。即一个数n的两个因数不能同时比n/2大。就可
以说一个数若不是素数则一定在2~n/2之间有因数。而且2,3也是符合下面程序的。
package com.wzs;
// 题目:判断101-200之间有多少个素数,并输出所有素数。
// 程序分析:判断素数的方法:用一个数分别去除2到x/2(这个数),如果能被整除,
// 则表明此数不是素数,反之是素数。
// 质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。
// 素数在数论中有着很重要的地位。比1大但不是素数的数称为合数。1和0既非素数也非合数。
public class Test_wzs2 {
public static void main(String[] args) {
// 统计输出素数个数
for (int i = 1; i < 200; i++) {
if (Test_wzs2.f(i)) {
System.out.print(i + ",");
}
}
}
/**
* 判断一个数是否为素数
*
* @param x
* 判断的数字
* @return true 是,false不是
*/
public static boolean f(int x) {
if (x < 2) {
System.out.println("请输入大于2的数字.");
return false;
}
for (int i = 2; i <= x / 2; i++) {
if (x % i == 0) {
return false;
}
}
return true;
}
}
输出结果:
请输入大于2的数字.
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,