Chúng ta được cho một số nguyên dương N. Mục đích là đếm các cặp số nguyên dương không âm phân biệt thỏa mãn bất đẳng thức - x * x + y * y
Chúng ta sẽ bắt đầu từ x =0 đến x
2
lt; N và y =0 đến y
2
Hãy cho chúng tôi hiểu với các ví dụ -
Đầu vào - n =4
Đầu ra - các cặp phân biệt =4
Giải thích - các cặp sẽ là (0,0), (1,1), (0,1), (1,0). Tất cả những điều này thỏa mãn bất đẳng thức x
2
+ y
2
<4
Đầu vào −n =2
Đầu ra - các cặp phân biệt =3
Giải thích Các cặp &trừ sẽ là (0,0), (0,1), (1,0). Tất cả những điều này thỏa mãn bất đẳng thức x
2
+ y
2
<2
Số nguyên N lưu trữ số nguyên dương.
Hàm countPairs (int n) nhận n làm đầu vào và trả về số lượng các cặp số nguyên dương không âm riêng biệt thỏa mãn bất đẳng thức −x
2
+ y
2
đếm lưu trữ số lượng các cặp như vậy, ban đầu là 0.
Bắt đầu từ i =0 đến i2
Nếu i2 + j2
Kết quả là số lượt trả lại cuối cùng.
Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau - Phương pháp tiếp cận được sử dụng trong chương trình dưới đây như sau
Ví dụ
#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;
}
Đầu ra
Distinct Non-Negative integer pairs count: 4