继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

将一个正整数分解质因数

斯蒂芬大夫
关注TA
已关注
手记 2
粉丝 6
获赞 33
//将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

package com.imooc;
import java.util.Scanner;

public class Ques2 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        Ques2 ques2 = new Ques2();
        //循环输入要被分解的整数
        do{                     
            int num = input.nextInt();
            System.out.print(num + "=");
            int i=2;
            int quotient=1;
            //循环输出质因数   
            do{
                if(ques2.primeNum(i)){                  
                    if(num % i == 0){
                        quotient = num/i;
                        System.out.print(i);
                        if(quotient == 1){
                            System.out.println();
                            break;
                        }else{
                            System.out.print("*");
                            num = quotient;
                        }
                    }else{
                        i++;
                    }
                }else{
                    i++;
                }
            }while(true);
        }while(true);
    }
    //判断一个整数是否为质数的方法:
    //小于3的整数中只有2为质数。大于等于3的整数a,如果全部都不能被整除2到n-1之间的整数,则n为质数。
    public static boolean ifPrNum(int n){
        if(n<3){ 
            if(n==2){
                return true;
            }else{
                return false;
            }
        }else{ 
            for(int i=2; i<n; i++){ //n依次除以2到n-1之间的数i
                if(n % i ==0){      //是否n能被i整除
                    return false; 
                }
            }
        return true;
        } 
    }
}
打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP