1 真题
2 解析
难度系数:⭐⭐⭐
考察题型:枚举 数论
涉及知识点:唯一分解定理 质数因子
思路分析:
关键是找到唯一分解定理下的奇数个的质数因子。
第一次遇见这句话可能不理解,下面我解释一下这两个名词。
唯一分解定理:一个合数(2的倍数)可以用一种最小质数的积的形式表示。
比如:6=2*3 12=2*2*3
质数因子:又是质数又是因子
质数:2,3,5,7,11······
因子:比如6的因子:1,2,3,6
6的质因子就是:2,3
具体思路:给奇数个质数因子再乘上一个该质数就可以让这个数变成完全平方数,
ans=n*x
36=12*3
36=2*2*3*3
举个栗子:对于偶数个质因子“2”,因为2*2已经配对成完全平方数4,所以不需要计数。
只需要统计奇数个质因子是一个“3”,最后n*x=12*3,答案ans=完全平方数36了。
参考思路:
3 代码
#完全平方数
n=int(input())#样例输入:12
x=1 #x:最小正整数
for i in range(2,int(n**0.5)+1):#循环遍历
cnt=0 #cnt:质数因子的个数
while n%i==0: #拆分因数 #12%2 6%2 3%3
cnt+=1 #1 2 3
n//=i #6 3 1
if cnt%2==1: #如果分解因子是奇数个数
x*=i #答案乘上质数因子x=1*3
print(x) #样例输出3*12=36
📍我写的是关于蓝桥杯的系列题解,感谢关注我的朋友们,我会持续输出高质量文章💪🏻