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

দুই अन्तরালের মাঝপথে আর্মস্ট্রং নম্বর (Armstrong Number) প্রদর্শনের C++ প্রোগ্রাম


আর্মস্ট্রং নম্বর (Armstrong Number) = তার ডিজিটগুলোর যোগফল, প্রতিটি ডিজিটকে মোট ডিজিট সংখ্যার ঘাতে তোলার সমান। যেমন: ১৫৩ = 1³ + 5³ + 3³ = ১ + ১২৫ + ২৭ = ১৫৩।

উদাহরণ

3 = 3¹
153 = 1³ + 5³ + 3³ = 153
370 = 3³ + 7³ + 0³ = 370
407 = 4³ + 0³ + 7³ = 407
1634 = 1⁴ + 6⁴ + 3⁴ + 4⁴ = 1634

উদাহরণ কোড

#include <iostream>
#include <cmath>
using namespace std;

int main() {
    int lowerbound = 100, upperbound = 500;
    cout << "Armstrong Numbers between " << lowerbound << " and " << upperbound << " are: ";

    for (int num = lowerbound; num <= upperbound; num++) {
        int temp = num;
        int digitNum = 0;

        // Count digits
        while (temp != 0) {
            digitNum++;
            temp /= 10;
        }

        temp = num;
        int digitSum = 0;

        // Sum of digits^digitNum
        while (temp != 0) {
            int remainderNum = temp % 10;
            digitSum += pow(remainderNum, digitNum);
            temp /= 10;
        }

        if (num == digitSum)
            cout << num << " ";
    }
    return 0;
}

আউটপুট

Armstrong Numbers between 100 and 500 are: 153 370 371 407

ব্যাখ্যা

  1. lowerbound থেকে upperbound পর্যন্ত লুপ।
  2. প্রথম while: ডিজিট সংখ্যা গণনা (digitNum)।
  3. দ্বিতীয় while: প্রতিটি ডিজিট এর digitNum ঘাত যোগ করে digitSum।
  4. num == digitSum হলে আর্মস্ট্রং → প্রিন্ট।

নোট: pow() ফ্লোটিং পয়েন্ট রিটার্ন করে, বড় সংখ্যার জন্য রাউন্ডিং এরর হতে পারে। ইন্টিজার পাওয়ার ফাংশন লিখা ভালো।

  1. জাভা প্রোগ্রাম: ফাংশন ব্যবহার করে ইন্টারভালের মধ্যে প্রাইম নাম্বার বের করা

  2. জাভা প্রোগ্রাম: দুটি ইন্টারভালের মধ্যে আর্মস্ট্রং নাম্বার বের করা (ইনলাইন)

  3. জাভা প্রোগ্রাম: দুটি ইন্টারভালের মধ্যে প্রাইম নাম্বার বের করা (ইনলাইন)

  4. জাভা প্রোগ্রাম: দুটি পূর্ণসংখ্যার মাঝপথে আর্মস্ট্রং নম্বর খুঁজে বের করা