আমাদের একটি পজিটিভ ইন্টিজার N দেওয়া আছে। লক্ষ্য হলো এমন ডিস্টিংক্ট নন-নেগেটিভ পজিটিভ ইন্টিজার পেয়ার (x, y) গণনা করা যাতে x*x + y*y < N সন্তুষ্ট হয়।
x=0 থেকে x² < N এবং y=0 থেকে y² < N পর্যন্ত লুপ চালিয়ে যেসব পেয়ারের জন্য x² + y² < N হয়, তাদের কাউন্ট বাড়ানো।
ইনপুট
n=4
আউটপুট
distinct pairs= 4
ব্যাখ্যা: পেয়ারগুলো: (0,0), (1,1), (0,1), (1,0)। সবগুলো x² + y² < 4 সন্তুষ্ট করে।
ইনপুট
n=2
আউটপুট
distinct pairs= 3
ব্যাখ্যা: পেয়ারগুলো: (0,0), (0,1), (1,0)। সবগুলো x² + y² < 2 সন্তুষ্ট করে।
প্রোগ্রামে ব্যবহৃত পদ্ধতি
- ইন্টিজার N স্টোর করা।
- countPairs(int n) ফাংশন n নিয়ে পেয়ার কাউন্ট রিটার্ন করে।
- count = 0 ইনিশিয়ালাইজ।
- i=0 থেকে i*i < n এবং j=0 থেকে j*j < n পর্যন্ত নেস্টেড লুপ।
- যদি i*i + j*j < n হয় তবে count++।
- শেষে count রিটার্ন।
উদাহরণ কোড
#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++)
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