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

C প্রোগ্রাম: আর্মস্ট্রং নাম্বার (Armstrong Number) যাচাই

সংক্ষিপ্ত বিবরণ

আর্মস্ট্রং নাম্বার হল এমন একটি সংখ্যা যেটি তার অঙ্কগুলোর প্রত্যেককে অঙ্কসংখ্যা ঘাত দিয়ে তুললে যোগফলটি মূল সংখ্যার সমান হয়।

উদাহরণ

153 = 1³ + 5³ + 3³ = 1 + 125 + 27 = 153 ✓
1634 = 1⁴ + 6⁴ + 3⁴ + 4⁴ = 1 + 1296 + 81 + 256 = 1634 ✓

অ্যালগরিদম

  1. অঙ্কসংখ্যা (order) বের করুন
  2. প্রতিটি অঙ্কের জন্য `digit^order` হিসাব করে যোগ করুন
  3. যোগফল মূল সংখ্যার সমান কিনা যাচাই করুন

সি কোড

#include <stdio.h>

int power(int base, int exp) {
    int res = 1;
    while (exp--) res *= base;
    return res;
}

int countDigits(int n) {
    int c = 0;
    while (n) { c++; n /= 10; }
    return c;
}

int isArmstrong(int n) {
    int orig = n, order = countDigits(n), sum = 0;
    while (n) {
        sum += power(n % 10, order);
        n /= 10;
    }
    return sum == orig;
}

int main() {
    int n = 1634;
    if (isArmstrong(n))
        printf("%d is an Armstrong number\n", n);
    else
        printf("%d is not an Armstrong number\n", n);
    return 0;
}

আউটপুট

1634 is an Armstrong number
  1. C প্রোগ্রাম: ম্যাট্রিক্স বিয়োগ (Subtraction of Matrices)

  2. C প্রোগ্রাম: আয়তের 넓ী ও পরিসীমা (Area & Perimeter of Rectangle)

  3. C প্রোগ্রাম: প্রথম n প্রাকৃতিক সংখ্যার ঘনফলের যোগফল

  4. পাইথনে ফিবোনাচ্চি সংখ্যা প্রোগ্রাম