我是一个初学者,我的代码找到了除以给定数字的所有质数,但我希望它也打印质数除以多少次。 这是我的代码:
public static void main(){
Scanner myScanner = new Scanner (System.in) ;
int n = myScanner.nextInt();
int prime = 2 ;
int count = 0 ;
while ( prime <= n ){
if ( n%prime == 0 ) {
n = n/prime ;
System.out.println(prime + " " +count);
}
if ( n%prime !=0 ){
prime = prime + 1;
}
}
}
希望你会理解我的,谢谢!
答案 0 :(得分:0)
您忘了增加计数器:
System.out.println(prime + " " +(++count));
答案 1 :(得分:0)
您需要为每个有余数0
的部门增加计数器。
并且您必须退出除0
之外的其他部分后才能退出循环:
public static void main(String[] args) {
Scanner myScanner = new Scanner (System.in) ;
int n = myScanner.nextInt();
int prime = 2;
int count = 0;
while ( prime <= n ){
if ( n % prime == 0 ) {
n /= prime;
count++;
} else
break;
}
System.out.println(prime + " " +count);
}