质数因子

Posted 可持续化发展

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了质数因子相关的知识,希望对你有一定的参考价值。

描述
功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为2 2 3 3 5 )

最后一个数后面也要有空格

输入描述:
输入一个long型整数

输出描述:
按照从小到大的顺序输出它的所有质数的因子,以空格隔开。最后一个数后面也要有空格。

示例1
输入:
180
复制
输出:
2 2 3 3 5

import java.util.*;

public class Main {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        while (scanner.hasNext()) {

            long num = scanner.nextLong();
            long n = (long) Math.sqrt(num);

            for (int i = 2; i <= n && num != 1; i++) {
                //是质数又是因子,肯定在这个数开根号范围内

                while (num % i == 0) {
                    //可能会有很多个2,也要输出啊。能整除就输出。
                    //假如是8,就在2的质数那里就已经输出完了。
                    num /= i;
                    System.out.print(i + " ");
                }
            }

            System.out.println(num == 1 ? "" : num + " ");

        }

    }
    
}

以上是关于质数因子的主要内容,如果未能解决你的问题,请参考以下文章

质数因子

python的循环,质数和因子的定义

华为机试练习质数因子

1-6质数因子

质数因子

欧拉项目第三题之最大质数因子