String str=""; int a, b; for (a = 2; a <= 100; a++) { for (b = 2; b <= a - 1; b++) { if (a % b == 0) break; } if (b == a) { str += " "+a; } } System.out.println(str); } } 这个是求2到100之间的素数~你参考一下~
public class SuShuo { public int maxNum = 0;/** * 判断是不是素数 */ public static boolean isSuShuo(int num){ boolean flg = false;
则 m = (p1 * p2 * p3 * ... * pn + 1) 除以所有的质数(p1, p2, p3, ..., pn)
所得的余数都是 1,因此 m 不是合数,是素数,这与只有 n 个素数相矛盾,
故素数的个数是无穷的。
int a, b;
for (a = 2; a <= 100; a++)
{
for (b = 2; b <= a - 1; b++)
{
if (a % b == 0) break;
}
if (b == a)
{
str += " "+a;
}
}
System.out.println(str);
}
}
这个是求2到100之间的素数~你参考一下~
* 判断是不是素数
*/
public static boolean isSuShuo(int num){
boolean flg = false;
if (num == 2) {
flg = true;
}
for (int i=2; i<num; i++) {
if(num%i != 0) {
flg = true;
} else {
break;
}
}
return flg;
}/**
* 判断beginum与endnum之间的那些数是素数,并获取最大素数
*/
public static int getMaxNum(int beginum, int endnum) {
System.out.println("求 " + beginum + " 与 " + endnum + " 之间的最大素数:");
for(int i=beginum; i<=endnum; i++) {
if (SuShuo.isSuShuo(i)) {
if(maxNum < i){
maxNum = i;
}
}
}
return maxNum;
}public static void main(String[] args) {
System.out.println("0~100之间最大素数为:");
int num1 = SuShuo.getMaxNum(0,100); System.out.println(num1);
}}
* 判断一个数是否为素数
*
* @param i
* @return true 则为素数; false 为合数或其他
*/
public boolean isPrimeNumber(int i) {
if (i >= 2) {
for (int j = 2; j <= Math.sqrt(i); j++) {
if (i % j == 0)
return false;
}
return true;
}
return false;
}