zoukankan      html  css  js  c++  java
  • 平方根

    1.平方根(sqrt.pas/c/cpp)
    【问题描述】

    给出一个正整数n (1<n≤2^31-1),求当x,y都为正整数时,方程 的解中,x最小值为多少?

    √n=√x-√y

    【输入文件】
    输入文件只有一行,一个正整数n。
    【输出文件】
    输出文件只有一行,即满足条件的最小x的值。
    【文件样例】
    sqrt.in        sqrt.out
    4                 9
    【数据规模】
    30%的数据满足1<n≤10000;
    100%的数据满足1<n≤2^31-1。

    采用极限法

    根n=(1+x)根n-x根n

    即n=((p+x)/p)根n-x/p根n

    上下同除x,然后换元,

    n=((t+1)/t)根n-1/t根n

    y=n/(t*t);

    因为y是整数,t从根n下取整,然后直到n%(t*t)==0,求出t结果也就出来了。

    #include<iostream>
    #include<cmath>
    using namespace std;
    int main()
    {
        int n;
        cin>>n;
        long long p;
        for(p=sqrt(n);p>=1;p--) if(n%(p*p)==0)break;
        long long ans=n*(p+1)*(p+1)/(p*p);
        cout<<ans;
        return 0;
    }
  • 相关阅读:
    MobileNet V1 V2
    异常检测 与 One Class SVM
    异常检测
    图像分割
    1x1卷积核的作用
    迁移学习
    python
    图像分割
    图像分割
    Nagios
  • 原文地址:https://www.cnblogs.com/war1111/p/7532360.html
Copyright © 2011-2022 走看看