একটি পূর্ণসংখ্যাকে বলা হয় আর্মস্ট্রং সংখ্যার ক্রম n যদি প্রতিটি সংখ্যা আলাদা করে এবং ঘনক করা হয় এবং যোগ করা হয় তাহলে যোগফলটি সংখ্যার সমান হবে যেমন abcd... =a 3 + b 3 + c 3 + d 3 + ...
3 সংখ্যার একটি আর্মস্ট্রং সংখ্যার ক্ষেত্রে, প্রতিটি অঙ্কের ঘনক্ষেত্রের সমষ্টি সংখ্যাটির সমান। যেমন:
153 =1 3 + 5 3 + 3 3 // 153 একটি আর্মস্ট্রং সংখ্যা।
Input: Enter two numbers(intervals):999 9999 Output: Armstrong numbers between 999 and 9999 are: 1634 8208 9474
ব্যাখ্যা
1634 = 13+63+33+43 = 1+216+27+64 = 1634
নীচে বাস্তবায়িত পদ্ধতি সহজ। আমরা প্রদত্ত পরিসরে সমস্ত সংখ্যার মধ্য দিয়ে অতিক্রম করি। প্রতিটি সংখ্যার জন্য, আমরা প্রথমে এটিতে সংখ্যার সংখ্যা গণনা করি। বর্তমান সংখ্যার সংখ্যার সংখ্যা n হতে দিন। সেগুলি আমরা সমস্ত অঙ্কের ঘনকের যোগফল খুঁজে পাই। যোগফল যদি I এর সমান হয়, আমরা সংখ্যাটি প্রিন্ট করি।
উদাহরণ
#include <stdio.h>
#include <math.h>
int main() {
int low = 100;
int high = 400;
printf("The amstrong numbers between %d and %d is \n",low,high);
for (int i = low+1; i < high; ++i) {
int x = i;
int n = 0;
while (x != 0) {
x /= 10;
++n;
}
int pow_sum = 0;
x = i;
while (x != 0) {
int digit = x % 10;
pow_sum += pow(digit, n);
x /= 10;
}
if (pow_sum == i)
printf("%d ", i);
}
printf("\n");
return 0;
}