学习C++从娃娃抓起!记录下在学而思小猴编程学习过程中的题目,记录每一个瞬间。侵权即删,谢谢支持!
附上汇总贴:小猴编程C++ | 汇总-CSDN博客
【题目描述】
完全平方指用一个整数乘以自己,例如 1 ∗ 1 1*1 1∗1 , 2 ∗ 2 , 2∗2, 2∗2, 3 ∗ 3 3*3 3∗3**等,依此类推。若一个数能表示成某个整数的平方的形式,则称这个数为完全平方数。
现在给定你一个正整数 n,请你找到一个最小的正整数 x,使得 x ∗ n x*n x∗n 是一个完全平方数。
【输入】
一行,包含一个正整数 n。
【输出】
一行,包含一个正整数 x,表示结果。
【输入样例】
12
【输出样例】
3
【代码详解】
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
int main()
{
LL n;
cin >> n;
LL res = 1;
for (LL i=2; i*i<=n; i++) {
if (n%i==0) {
int s = 0;
while (n%i==0) {
s++;
n /= i;
}
if (s%2==1) {
res *=i;
}
}
}
if (n>1) res *= n;
cout << res << endl;
return 0;
}
【运行结果】
12
3