描述
对于给定的整数 n ,从小到大依次输出它的全部质因子。即找到这样的质数 p1,p2,⋯ ,pk ,使得 n=p1×p2×⋯×pk 。
输入描述:
在一行上输入一个整数 n(2≦n≦2×108+14) 代表待分解的整数。
输出描述:
在一行上从小到大输出若干个整数,代表 n 的质因子。
示例1
输入:
180
输出:
2 2 3 3 5
说明:
在这个样例中,180=2×2×3×3×5 。
示例2
输入:
47
输出:
47
解法一(java):
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int abs = in.nextInt();
for (int i = 2; i <= abs; i++) {
if (abs % i == 0) {
abs = abs/i;
System.out.print(i + " ");
i = 1;
}
}
}
}
思路:循环判断当前的值取模是否为0,如果是就输出当前值,然后将目标值除以当前值,再将i赋值为1。