একটি পূর্ণসংখ্যাকে বলা হয় আর্মস্ট্রং সংখ্যার ক্রম 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; }