একটি আর্মস্ট্রং নম্বর হল এমন একটি সংখ্যা যেখানে সংখ্যার মোট সংখ্যার ঘাতে উত্থাপিত অঙ্কগুলির যোগফল সংখ্যার সমান। আর্মস্ট্রং সংখ্যার কিছু উদাহরণ নিম্নরূপ।
3 = 3^1 153 = 1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153 371 = 3^3 + 7^3 + 1^3 = 27 + 343 + 1 = 371 407 = 4^3 + 0^3 + 7^3 = 64 +0 + 343 = 407
একটি প্রোগ্রাম যা পরীক্ষা করে যে একটি সংখ্যা একটি আর্মস্ট্রং নম্বর কিনা তা নিম্নরূপ।
উদাহরণ
#include <iostream> #include <cmath< using namespace std; int main() { int num = 153, digitSum, temp, remainderNum, digitNum ; temp = num; digitNum = 0; while (temp != 0) { digitNum++; temp = temp/10; } temp = num; digitSum = 0; while (temp != 0) { remainderNum = temp%10; digitSum = digitSum + pow(remainderNum, digitNum); temp = temp/10; } if (num == digitSum) cout<<num<<" is an Armstrong number"; else cout<<num<<" is not an Armstrong number"; return 0; }
আউটপুট
153 is an Armstrong number
উপরের প্রোগ্রামে, প্রদত্ত নম্বরটি একটি আর্মস্ট্রং নম্বর কিনা তা নির্ধারণ করা হয়। এটি একাধিক ধাপ ব্যবহার করে করা হয়। প্রথমে সংখ্যার সংখ্যা পাওয়া যায়। এটি প্রতিটি অঙ্কের জন্য digitNum-এ একটি যোগ করে করা হয়।
এটি নিম্নলিখিত কোড স্নিপেট −
দ্বারা প্রদর্শিত হয়temp = num; digitNum = 0; while (temp != 0) { digitNum++; temp = temp/10; }
সংখ্যার সংখ্যা জানার পরে, অঙ্কের সংখ্যা অর্থাৎ অঙ্কের সংখ্যার শক্তিতে উত্থিত প্রতিটি অঙ্ক যোগ করে ডিজিটসাম গণনা করা হয়। এটি নিম্নলিখিত কোড স্নিপেটে দেখা যেতে পারে।
temp = num; digitSum = 0; while (temp != 0) { remainderNum = temp%10; digitSum = digitSum + pow(remainderNum, digitNum); temp = temp/10; }
সংখ্যাটি যদি digitSum-এর সমান হয়, তাহলে সেই সংখ্যাটি একটি আর্মস্ট্রং সংখ্যা এবং সেটি প্রিন্ট করা হয়। যদি না হয়, তাহলে এটি আর্মস্ট্রং নম্বর নয়। এটি নীচের কোড স্নিপেটে দেখা যায়৷
৷if (num == digitSum) cout<<num<<" is an Armstrong number"; else cout<<num<<" is not an Armstrong number";