小编Cod*_*nic的帖子

给定数字N,有多少对数字的平方和小于或等于N?

让我们定义F(N)作为对不同的正整数的数目(A,B) ,使得甲2 + B 2 ≤N和A <B .

如果N = 5,唯一可能的这样的对是(1,2),对于N = 10,对是2: (1,2)和(1,3).

此外,我们有F(13)= 3,F(17)= 4,F(17)= 4,F(20)= 5,F(20)= 5,F(25)= 6,F(100)= 31等每一个号码,其是两个不同的非零平方和.

到目前为止,我有以下解决方案:

long long SOLVE(lld n)
{
    long long x=sqrt(n),up=0;
    long long a=x,b=1;
    while(abs(a-(b-1))!=1)
    {

        while(sqr(a)+sqr(b)<=n )
        {
            b++;
        }
        up+=(b-1);
        a--;
    }
    b--;
    up+=(b*(b+1))/2;
    return up;
}
int …
Run Code Online (Sandbox Code Playgroud)

c++ algorithm math combinations

5
推荐指数
1
解决办法
691
查看次数

标签 统计

algorithm ×1

c++ ×1

combinations ×1

math ×1