计算在C ++中满足不等式x * x + y * y <n的不同非负整数对(x,y)

我们给定一个正整数N。目标是对满足不等式-x * x + y * y <N的不同的非负正整数对进行计数。

我们将从x = 0开始到x 2 lt; N和y = 0至y 2 <N。如果x 2 + y 2 <N,则增加线对数。

让我们通过示例来理解-

输入-n = 4

输出-不重复对= 4

解释-对将是(0,0),(1,1),(0,1),(1,0)。所有这些满足不等式x 2 + y 2 <4

输入−n = 2

输出-不重复对= 3

说明和负对将是(0,0),(0,1),(1,0)。所有这些满足不等式x 2 + y 2 <2

以下程序中使用的方法如下

  • 整数N存储正整数。

  • 函数countPairs(int n)以n作为输入,并返回满足不等式-x 2 + y 2 <n的不同的非负正整数对的计数。

  • count存储此类对的数量,最初为0。

  • 从i = 0到i2 <n,其他循环j = 0到j2 <n。

  • 如果i2 + j2 <n递增计数。

  • 最后返回计数结果。

示例

#include <iostream>

using namespace std;

int countPairs(int n){

   int count = 0;

   for (int i = 0; i*i < n; i++)

      for (int j = 0; j*j < n; j++) //x*x + y*y < n

      if(i*i + j*j < n)

         count++;

   return count;

}

int main(){

   int N=4;

   cout << "Distinct Non-Negative integer pairs count: " << countPairs(N) ;

   return 0;

}

输出结果

如果我们运行上面的代码,它将生成以下输出-

Distinct Non-Negative integer pairs count: 4

以上是 计算在C ++中满足不等式x * x + y * y <n的不同非负整数对(x,y) 的全部内容, 来源链接: utcz.com/z/321820.html

回到顶部