资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述
给定一个正整数n,求一个正整数p,满足p仅包含n的所有素因子,且每个素因子的次数不大于1
输入格式
一个整数,表示n
输出格式
输出一行,包含一个整数p。
样例输入
1000
样例输出
10
数据规模和约定
n<=10^12
样例解释:n=1000=2 ^ 3 * 5 * 3(这里原题要表达的应该是)n=1000=2^3 * 5^3,p=2*5=10
AC代码:
while True:
try:
n = int(input())
s = set()
ans = 1
def sushu(n):
for i in range(2,n+1):
if n%i == 0:
s.add(i)
n = n//i
return sushu(n)
sushu(n)
for num in s:
ans *= num
print(ans)
except:
break
set直接去重。
编程小白记录成长
这是一道蓝桥杯算法训练题目,要求找出一个正整数p,该数仅包含输入正整数n的所有素因子,且每个素因子的次数不超过1。例如,对于输入n=1000(原题可能存在错误,应为1000=2^3 * 5^3),正确的输出是p=10(2*5)。AC代码使用了Python的set数据结构来实现素因子的去重。
756

被折叠的 条评论
为什么被折叠?



