黑马程序员技术交流社区

标题: 正解质因数 [打印本页]

作者: xfbyxq    时间: 2016-7-24 20:49
标题: 正解质因数
任意数都可以分解成由n个质数相乘
分解方法

1 先判定指定的数n是不是质数(质数不能分解)是质数就直接返回
2 是合数就先和最小的质数%运算  如果能被整除  就把商赋值给n
3 如果不能被整除就把最小的那个质数++
重复1-3步骤

Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int k=2;//最小质数
        System.out.print(n+"=");
        while(true){
            if(k==n){//先判定指定的数n是不是质数(质数不能分解)是质数就直接返回
                System.out.print(k);
                break;
            }else if(n%k==0){
                System.out.print(k+"*");
                n=n/k;//是合数就先和最小的质数%运算  如果能被整除  就把商赋值给n
            }else{
                k++;//如果不能被整除就把最小的那个质数++
            }
        }





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2