蓝桥 算法训练 素因子去重

传送门
思路:不断的分解质因子即可,最后注意 n 可能不为1,所以最后要记得乘n。

import java.math.BigInteger;
import java.util.*;
public class Main {
	public static void main(String[] args) {
		Scanner cin = new Scanner(System.in);
		long n = cin.nextLong();
		long t = n;
		int flag = 0;
		long ans = 1;
		for (long i = 2; i * i <= n; i++) {
			flag = 1;
			while (n % i == 0) {
				n = n / i;
				if (flag == 1) {
					ans *= i;
					flag = 0;
				}
			}
		}
		System.out.println(ans * n);
	}
}

发布了241 篇原创文章 · 获赞 8 · 访问量 4850

猜你喜欢

转载自blog.csdn.net/weixin_43960370/article/details/103514818