试题 算法训练 素因子去重 JAVA
问题描述 给定一个正整数n,求一个正整数p,满足p仅包含n的所有素因子,且每个素因子的次数不大于1 输入格式 一个整数,表示n 输出格式 输出一行,包含一个整数p。 样例输入 1000 样例输出 10 数据规模和约定 n<=10^12 样例解释:n=1000=2^353,p=2*5=10
参考链接
import java
.util
.Scanner
;
public class 素因子去重
{
public static void main(String
[] args
) {
Scanner sc
= new Scanner(System
.in
);
long n
= sc
.nextLong();
long p
=1,i
;
for(i
=2;i
<=n
;i
++)
{
if(n
%i
==0)
p
*=i
;
while(n
%i
==0)
{
n
/=i
;
}
}
System
.out
.println(p
);
}
}
转载请注明原文地址:https://ipadbbs.8miu.com/read-17975.html