java素数的判断方法_2java判断素数

package com.test;

import java.math.*;

import java.util.Scanner;

public class test222 {

/**

* @param args

* 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。

*

* 1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除(i%/2==0),

*

* 则表明此数不是素数,反之是素数。

* 注:  一个大于1的自然数,除了1和它本身外,不能被其他自然数整除的数称之为素数。否则称之为合数。

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

System.out.println(Math.sqrt(9));;

for(int ii=0;ii<=1;ii++){

int i = 0;

Scanner sc = new Scanner(System.in);

int sa = sc.nextInt();

//for (i = 2; i <= 10; i++)

if (iszhishu(sa) == true)

System.out.println("'"+sa+"' is a zhishu");

else{

System.out.println("sa: '"+sa+"' is not a zhishu");

}

if(sa!=0){

ii=0;

}else{

System.out.println("---end---");

}

}

}

public static boolean iszhishu(int x) {

for (int i = 2; i <= x / 2; i++)

if (x % 2 == 0)

return false;

return true;

}

/*

X:1 2 3 4 5

2<=1/2 2<=2/2=12<=3/22<=4/2=2,4%2=2...0; 2<=5/2;i=3<=5/2;

return true truetruefalsetrue

6 7 8

2<=6/2=3;6%2=3...0;2<=7/2;7%2=3...1;i=3<=7/2;i=4<=7/2; 2<=8/2;8%2=4...0

return falsetruefalse

9 10

2<=9/2;9&2=4...1;i=3<=9/2;i=4<=9/2;i=5<=9/2;2<=10/2=5;10%2=5...0

return truefalse

规律总结:

x%2==0 可以判断是不是整除2,感觉这样就可以判断是不是质素了,外面加个循环除以2,是为什么呢?不清楚,不过这样可以判断是否是素数,数据测试也是对的;

程序没问题,就是看不懂/xk;

有的人有写直接Math.sqrt()(//判断指定数的平方根内的数)判断;

*/

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值