计算在C ++中满足不等式x * x + y * y
我们给定一个正整数N。目标是对满足不等式-x*x+y*y<N的不同的非负正整数对进行计数。
我们将从x=0开始到x2lt;N和y=0至y2<N。如果x2+y2<N,则增加线对数。
让我们通过示例来理解-
输入-n=4
输出-不重复对=4
解释-对将是(0,0),(1,1),(0,1),(1,0)。所有这些满足不等式x2+y2<4
输入−n=2
输出-不重复对=3
说明和负对将是(0,0),(0,1),(1,0)。所有这些满足不等式x2+y2<2
以下程序中使用的方法如下
整数N存储正整数。
函数countPairs(intn)以n作为输入,并返回满足不等式-x2+y2<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