牛客华为算法-HJ6 质数因子

我爱海鲸 2025-04-17 21:41:45 暂无标签

简介华为OD

质数因子_牛客题霸_牛客网

描述

对于给定的整数 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。

你好:我的2025