เราได้รับจำนวนเต็มบวก N เป้าหมายคือการนับคู่ของจำนวนเต็มบวกที่ไม่เป็นลบซึ่งตรงกับความไม่เท่าเทียมกัน:x*x + y*y
เราจะเริ่มจาก x=0 ถึง x2
คำอธิบาย − คู่จะเป็น (0,0), (1,1), (0,1), (1,0) ทั้งหมดนี้ตอบสนองความไม่เท่าเทียมกัน x2 + y2 <4
คำอธิบาย − คู่จะเป็น (0,0), (0,1), (1,0) ทั้งหมดนี้ตอบสนองความไม่เท่าเทียมกัน x2 + y2 <2
จำนวนเต็ม N เก็บจำนวนเต็มบวก
ฟังก์ชัน countPairs(int n) รับ n เป็นอินพุตและส่งกลับจำนวนคู่จำนวนเต็มบวกที่ไม่เป็นลบที่ชัดเจนซึ่งตอบสนองความไม่เท่าเทียมกัน:x2 + y2
count เก็บจำนวนคู่ดังกล่าว เริ่มแรก 0.
เริ่มจาก i=0 ถึง i2
ถ้า i2 + j2
ผลตอบแทนนับในที่สุดตามผลลัพธ์อินพุต
n=4
ผลลัพธ์
distinct pairs= 4
อินพุต
n=2
ผลลัพธ์
distinct pairs= 3
แนวทางที่ใช้ในโปรแกรมด้านล่างมีดังนี้
ตัวอย่าง
#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