/* 程序问题注释开始
-
程序的版权和版本声明部分
-
Copyright © 2020,湖南工程职业技术学院信息工程学院学生
-
All rights reserved.
-
文件名称: 蓝桥杯赛题
-
作 者: 李 斌
-
完成日期: 2020 年 04 月 05日
-
版 本 号: 012
-
对任务及求解方法的描述部分
-
问题描述
给定一个正整数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 Main {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Scanner in=new Scanner(System.in);
//用户输入的数
long n=in.nextLong();
//保存因子积
int p=1;
for(int i=2;i<=n;i++)
{
//i是n的因子
if(n%i==0)
{
n/=i;
//保存因子积
p*=i;
//去重
while(n%i==0)
{
n/=i;
}
}
}
//输出所有因子积
System.out.println(p);
}
}
运行结果: