qq_31487799
qq_31487799
采纳率100%
2020-03-14 09:40

各位大佬 请帮我看一下这个代码 谢谢

已采纳

//求素数的代码
boolean sushu=true;
int count=0;//计数器
for(int i=1;i<1000;i++) {//从1到1000依次循环
for(int j=2;j<i;j++) {
if(i%j==0) {
sushu=false;

        }else {
            count=count+i;
        }

    }System.out.println(sushu?+i+"素数":i+"不是素数");
}System.out.println(count);
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • hjs218 Json-Huang 1年前

    如楼上所说到平方根即可,性能更好,可以参考下:https://blog.csdn.net/qq_42889294/article/details/86578832

    public static void main(String[] args){
    
            for(int i=0;i<100;i++) {
                checkPrime(i);
            }
    
        }
    
        private static void checkPrime(int x){
            boolean isPrime = true;
            if(x ==1 || x %2 ==0 && x !=2 )
            {
                isPrime = false;
            }
            else
            {
                for( int i =3; i< Math.sqrt(x); i+=2)
                {
                    if( x % i == 0)
                    {
                        isPrime = false;
                        break;
                    }
                }
            }
            if( isPrime)
            {
                System.out.println(x +"是素数");
            }
            else
            {
                System.out.println(x+ "不是素数");
            }
        }
    
    
    

    以下是输入20以内返回的结果:
    图片说明

    点赞 评论 复制链接分享
  • KingJordon console.log( ) 1年前

    j取值到根号i就可以了

    你代码咋了

    点赞 1 评论 复制链接分享

相关推荐