2429: Difference of Square Root

本文介绍了一种算法,用于寻找最小整数x,使得sqrt(x) - sqrt(y) = sqrt(n),其中y > 0。文章给出了输入输出样例及对应的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2429: Difference of Square Root


ResultTIME LimitMEMORY LimitRun TimesAC TimesJUDGE
3s8192K1161147Standard

At the previous problem , the difference of square is asked. This time, the square root is appeared.

Find minimal integer x that satified sqrt(x)-sqrt(y)=sqrt(n). y should be greater than zero.

Input and Output

For each integer n (n < 2^31) in one line of input, output the result x in one line.

Sample Input

2
3

Sample Output

8
12

 

Problem Source: provided by skywind

 


This problem is used for contest: 93 

 

 

#include<iostream>
#include<math.h>
using namespace std;
int main()
{
    int n;//n=a*a*b;
    while(cin>>n)
    {
        long long a=(long long)sqrt(n+0.5);
        for(;a>=1;a--)
        {
            if(n%(a*a)==0)
            {
                cout<<(a+1)*(a+1)*(n/a/a)<<endl;
                break;
            }
        }
    }
    return 0;
}
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值