কম্পিউটার টিউটোরিয়াল

সি++-এ N পর্যন্ত যেসব সংখ্যা ও পূর্ণবর্গ ও পূর্ণঘন, তাদের গণনা

একটি সংখ্যা 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
  1. রেঞ্জে m দিয়ে বিভাজ্য এবং ইভেন পজিশনে ডিজিট d থাকা সংখ্যার গণনা (C++)

  2. রেঞ্জে সংখ্যা এবং তার q দিয়ে গুণফলের ডিজিট অসমান হলে সংখ্যা গণনা (C++)

  3. বাইনারি ট্রিতে পারফেক্ট স্কয়ার ওজন বিশিষ্ট নোড গণনা C++-এ

  4. ২-এর ঘাত গঠিত Kটি সংখ্যা যাদের যোগফল N (C++)