不能执行低于素数没有程序

问题描述 投票:0回答:2

我正在尝试写一个简单的素数代码从1到100,但我无法理解为什么它不给我结果。

package com.java.program;

public class PrimeNo {

    public static void main(String[] args) {
        System.out.println("Prime no btw 1 to 100");

        for(int i=1;i<=100;i++)
        {
            int  count=0;
            for(int j=2;j<=i;j++){
                if(i%j==0)
                {
                    count++;
                    break;
                }
            }
            if(count==0)
            {
                System.out.println("\t" +i);    
            }
        }
    }
}
primes
2个回答
0
投票

在第一个for循环启动i中从2而不是1.在你的第二个for循环中你正在做(j <= i)。一个数字总是可以被自身整除,因此它会产生count ++,当j = i时它会被忽略。试试这个(j <i)或效率(j <= i / 2 + 1)。


1
投票

只做j <i,它会打印出来。因为数字n总是可以被n整除,所以它不是2到100之间的打印素数

for(int j=2;j<i;j++)
© www.soinside.com 2019 - 2024. All rights reserved.