একটি নির্দিষ্ট নম্বর আর্মস্ট্রং কিনা তা চেক করার প্রোগ্রাম। লজিক একই: ডিজিট কাউন্ট → ডিজিট^ডিজিটকাউন্ট যোগফল → মূল নম্বর সাথে তুলনা।
উদাহরণ কোড
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int num = 153;
int temp = num;
int digitNum = 0;
// Count digits
while (temp != 0) {
digitNum++;
temp /= 10;
}
temp = num;
int digitSum = 0;
// Calculate sum of digits^digitNum
while (temp != 0) {
int remainderNum = temp % 10;
digitSum += pow(remainderNum, digitNum);
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
ব্যাখ্যা
পূর্বের আর্টিকেলের (1006083140) মতোই, শুধু রেঞ্জের বদলে একক নম্বর চেক করা হয়েছে। pow() ব্যবহার করা হয়েছে।
উন্নত সংস্করণ: ফাংশনে আলাদা করে রাখলে রিইউজেবল হয়।