我已经创建了一个程序,给出了每个输入数字的因子。
我很困惑,我怎么能得到Prime和Composite;
问题: 如果数字是素数,则接受一个数字并显示消息“PRIME”,否则显示消息“COMPOSITE”。
我说的是我创建了因子代码。我无法理解这里的逻辑,我知道可能的逻辑是我创建的因子代码。 我现在想要具体的答案。我想知道如果它的素数或复合
我怎么能得到的逻辑这是我的保理代码:
import java.util.Scanner;
class factors{
public static void main(String[] args){
Scanner n = new Scanner(System.in);
int num;
int ctr=1;
System.out.print("Enter a number : ");
num = n.nextInt();
while(ctr<=num){
if(num%ctr==0){
System.out.print(ctr + "\t");
}
ctr++;
}
System.out.println();
}
}
答案 0 :(得分:0)
尝试类似:
boolean primeNum = true;
for(int ctr=2; ctr<=num/2; ctr++) {
if (num%ctr == 0) {
primeNum = false;
break;
}
}
if (primeNum) {
System.out.println("Yes its a prime number");
}
它在除数后检查余数(即num%ctr)。如果它完全可分,则余数将为0,这就是我在if
条件下所拥有的。如果条件满足,我们打破for
循环并检查primeNum布尔变量以断言相同。