计算质数因子

计算质数因子

质数因子

描述

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

数据范围: 1≤n≤2×10^9+14

输入描述:输入一个整数

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

示例1

输入:180

输出:2 2 3 3 5

思路

为了减少重复量,只需计算输入数的算术平方根的质数因子,一个正整数最多有一个质因子大于其平方根,且只会是其本身。如:6的算术平方根为根号6

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

int m = sc.nextInt();

int n = (int) Math.sqrt(m);//算术平方根函数

for (int i = 2; i <= m; i++) {

if (m % i == 0) {

System.out.print(i + " ");

m = m / i;

i--;//避免遗漏重复的质数因子

} else {

if (i >= n) {

System.out.print(m + "");

break;

}

}

}

}

}

参考:为什么判断一个数是否为素数时只需开平方根就行了

相关推荐

手机进水后恢复时间与处理方式全解析
mobile365官网是多少

手机进水后恢复时间与处理方式全解析

📅 10-02 👁️ 2092
在ppt中怎样增加一页(ppt制作添加一页怎么弄)
beat365中文官方网站

在ppt中怎样增加一页(ppt制作添加一页怎么弄)

📅 09-25 👁️ 6969