একটি সংখ্যা N দেওয়া আছে। লক্ষ্য হল ১ থেকে N পর্যন্ত যেসব সংখ্যা পূর্ণবর্গ (perfect square) এবং পূর্ণঘন (perfect cube) দুটোই, তাদের গণনা করা। যেমন ১, ৬৪ উভয়ই পূর্ণবর্গ ও পূর্ণঘন।
sqrt() দিয়ে বর্গমূল এবং cbrt() দিয়ে ঘনমূল বের করা হয়।
উদাহরণ
ইনপুট: N=100
আউটপুট: পূর্ণবর্গ ও পূর্ণঘন উভয় সংখ্যার গণনা: ২
ব্যাখ্যা: ১ থেকে ১০০ পর্যন্ত শুধু ১ এবং ৬৪ উভয় পূর্ণবর্গ ও পূর্ণঘন।
ইনপুট: N=5000
আউটপুট: পূর্ণবর্গ ও পূর্ণঘন উভয় সংখ্যার গণনা: ৩
ব্যাখ্যা: ১, ৬৪ এবং ৪০৯৬ শুধু এই তিনটি ১ থেকে ৫০০০ পর্যন্ত উভয় পূর্ণবর্গ ও পূর্ণঘন।
অ্যাপ্রোচ
- ইন্টিজার N নেওয়া হয়।
getCount(int n)ফাংশন N গ্রহণ করে N পর্যন্ত উভয় পূর্ণবর্গ ও পূর্ণঘন সংখ্যার গণনা রিটার্ন করে।- প্রাথমিক count ০।
- for লুপে i=1 থেকে i<=N পর্যন্ত: যদি floor(sqrt(i)) == ceil(sqrt(i)) হয়, তবে i পূর্ণবর্গ।
- তারপর floor(cbrt(i)) == ceil(cbrt(i)) চেক করা হয়। সত্য হলে i পূর্ণঘনও। count বাড়ানো হয়।
উদাহরণ কোড
#include <bits/stdc++.h>
#include <math.h>
using namespace std;
int getCount(int n) {
int count = 0;
for (int i = 1; i <= n; i++) {
if (floor(sqrt(i)) == ceil(sqrt(i))) {
if (floor(cbrt(i)) == ceil(cbrt(i))) {
count++;
}
}
}
return count;
}
int main() {
int N = 100;
cout << endl << "Numbers upto N that are perfect squares and perfect cubes:" << getCount(N);
return 0;
}
আউটপুট
Numbers upto N that are perfect squares and perfect cubes: 2