用 java 怎么判断一个数是否为质数?
2个回答
展开全部
质数:
public static boolean isPrime(int N){if( N < 2 ) return false;
for( int i = 2 ; i*i <= N; i++){if( N % i == 0) return false;return true;}
JAVA 编程方法:
public static void main(String[] args) {// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);for(int i=0;i<100;i++){
System.out.print("请输入数字:");int num1 = input.nextInt();if(num1==2||num1==3){
System.out.println(num1+"是质数");}else if(num1%2!=0&&(num1+1)%2==0){
System.out.println(num1+"是质数");}else{System.out.println(num1+"不是质数");
展开全部
应该是有函数吧
建议直接百度搜索
逻辑存在很大的问题,判断质素的守则是除了本身和1,其他数都不能将自己整除,所以楼主你应该做的事情是将你输入的数循环与2开始到你输入的数-1的数依次比较,有一次整除没有余数就说明不是素数。按照你的代码修改应该是:
bool flag=false;
for(int i=2;i<num;i++)
{
if(num%i==0)
{
flag=true;
break;
}
}
接下来判断flag的值,如果是 true代表不是质数,flase的话代表是质数
建议直接百度搜索
逻辑存在很大的问题,判断质素的守则是除了本身和1,其他数都不能将自己整除,所以楼主你应该做的事情是将你输入的数循环与2开始到你输入的数-1的数依次比较,有一次整除没有余数就说明不是素数。按照你的代码修改应该是:
bool flag=false;
for(int i=2;i<num;i++)
{
if(num%i==0)
{
flag=true;
break;
}
}
接下来判断flag的值,如果是 true代表不是质数,flase的话代表是质数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询