计算素数除数的次数

时间:2018-11-10 21:44:06

标签: java primes divide

我是一个初学者,我的代码找到了除以给定数字的所有质数,但我希望它也打印质数除以多少次。 这是我的代码:

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;
        }
    }
}

希望你会理解我的,谢谢!

2 个答案:

答案 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);
}