সংক্ষিপ্ত বিবরণ
এই প্রোগ্রামটি একটি সংখ্যা স্ট্রং নাম্বার কিনা তা নির্ধারণ করে। স্ট্রং নাম্বার হল সেই সংখ্যা যার প্রতিটি অঙ্কের ফ্যাক্টোরিয়ালের যোগফল সংখ্যাটির সমান হয়।
উদাহরণ
- ১৪৫ → ১! + ৪! + ৫! = ১ + ২৪ + ১২০ = ১৪৫ (স্ট্রং নাম্বার)
- ১২৪ → ১! + ২! + ৪! = ১ + ২ + ২৪ = ২৭ ≠ ১২৪ (স্ট্রং নাম্বার নয়)
অ্যালগরিদম
- প্রতিটি অঙ্কই হয়ে ফ্যাক্টোরিয়াল বের করুন
- ফ্যাক্টোরিয়ালগুলো যোগ করুন
- যোগফল মূল সংখ্যার সমান কিনা যাচাই করুন
সি কোড
#include <stdio.h>
int factorial(int n) {
int fact = 1;
while (n > 1) {
fact *= n;
n--;
}
return fact;
}
int isStrong(int n) {
int temp = n, sum = 0, digit;
while (temp) {
digit = temp % 10;
sum += factorial(digit);
temp /= 10;
}
return sum == n;
}
int main() {
int n = 145;
if (isStrong(n))
printf("Yes it is a strong number\n");
else
printf("No it is not a strong number\n");
return 0;
}
আউটপুট
Yes it is a strong number