#include <iostream> #include <iterator> #include <algorithm> #include <cmath> int main() { std::cout << "Enter Number: "; std::transform(std::istream_iterator<size_t>(std::cin),std::istream_iterator<size_t>(), std::ostream_iterator<std::string>(std::cout,"\n\nNumber:"),[](unsigned int num) { /* * A positive integer is called an Armstrong number if * a^n + b^n + c^n + d^n ... = abcd.. */ unsigned int originalNumber = num; int n = 0; int result = 0; while (originalNumber != 0) { originalNumber /= 10; ++n; } originalNumber = num; while(originalNumber != 0) { int reminder = originalNumber % 10; result += pow(reminder,n); originalNumber /= 10; } if (result == num) return "Is Armstrong number"; else return "Is not Armstrong number"; }); }
OUTPUT:
Enter Number: 371 Is Armstrong number Number:1643 Is not Armstrong number
Comments