【问题标题】:what i am further to do..I got a Prime Numbers to be print ,non prime numbers are am not able to print我还要做什么..我有一个要打印的素数,非素数无法打印
【发布时间】:2016-12-20 10:19:37
【问题描述】:
Input:20
Output:0 is not a Prime
       1 is not a prime
       2 is a prime 
       3 is a prime 
       4 is not a prime 
       5 is a prime
       20 is not a prime(upto number 20)

我的班级

public class Prime{
    public static void main(String[] args){
        int number=20;
        int p;
        for(int i=2;i<number;i++){
            p=0;
            for(int j=2;j<i;j++){
                if(i%j==0){
                    p=1;
                }
            }
            if(p==0){
                System.out.println(i+" "+"Is Prime");
            }
        }
    }
}

在上面的程序中我打印了素数,如何在其中打印素数和非素数?提前谢谢! 检查它从 0 不是素数,1 不是素数,2 是素数,3 是素数,4 不是素数,5 是素数,7 是素数,8 不是素数,持续到 n给定

【问题讨论】:

  • 提示。 if(p == 0){/*I am prime*/}else{/*I am not prime*/}
  • 关于素数生成器算法的页面数不胜数,其中一些在这个网站上。

标签: java


【解决方案1】:

else 块添加到可以打印非质数的if 语句。

if(p==0){
    System.out.println(i+" "+"Is Prime");
}
else {
    System.out.println(i+" "+"Is not Prime");
}

更新:

也像这样修改你的 for 循环语句:

System.out.println("0 is not Prime");
System.out.println("1 is not Prime");
for(int i=2;i<=number;i++){

这将从 0 迭代到 20。

【讨论】:

  • 是的!但是如果我添加了这些行,它只会给出从 2 到 19 的输出。我必须从 0 开始到 20.0 不是素数 1 不是素数。 2 是素数。同样,最多 20 也不是素数。
  • 0 和 1 不是素数。如果我将 for 循环声明为 for(int i=0;i
  • 根据定义,0和1不是素数,计算时一般不考虑。您可以选择在开始循环之前单独打印它们..
猜你喜欢
  • 2023-04-10
  • 2022-01-13
  • 2019-02-26
  • 2017-05-06
  • 1970-01-01
  • 2022-07-23
  • 2021-10-01
  • 2012-04-28
  • 1970-01-01
相关资源
最近更新 更多