3491. 完全平方数

3491. 完全平方数,第1张

3491. 完全平方数

一个整数 a 是一个完全平方数,是指它是某一个整数的平方,即存在一个整数 b,使得 a = b ^ 2。给定一个正整数 n,请找到最小的正整数 x,使得它们的乘积是一个完全平方数。

输入格式

输入一行包含一个正整数 n。

输出格式

输出找到的最小的正整数 x。

数据范围

对于 30% 的评测用例,1≤n≤1000,答案不超过 1000。
对于 60% 的评测用例,1≤n≤10^8,答案不超过 10^8。
对于所有评测用例,1≤n≤10^12,答案不超过 10^12。

输入样例1:

12

输出样例1:

3

输入样例2:

15

输出样例2:

15
来源:AcWing 3491.完全平方数
 

#include
typedef long long ll;
using namespace std;
int main()
{
    ll n,ans = 1;
    cin >> n;
    for(ll i = 2; i * i <= n; i++)
        if(n%i==0)
        {
         int cnt = 0;
         while(n%i==0)cnt++,n /= i;
         if(cnt&&cnt%2)ans *= i;
        }
    if(n)ans *= n;
    cout<

试除法分解质因式

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5711143.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存