mirror of
https://hub.njuu.cf/TheAlgorithms/C-Plus-Plus.git
synced 2023-10-11 13:05:55 +08:00
89bfc1244e
* added a new directory named Recursion and a most common exxample of recusion i.e. Tower of Hanoi in it * Added Comments * Bug fixed according to the correct definition of armstrong_number * Bug Fixed in armstrong_number.cpp Bug Fixed in armstrong_number.cpp according to the correct definition of armstrong_number. * Update armstrong_number.cpp * Added documentation * Delete Recursion directory * Update armstrong_number.cpp * Update dynamic_programming/armstrong_number.cpp Co-authored-by: David Leal <halfpacho@gmail.com> * Update armstrong_number.cpp fixed errors. * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review * Update armstrong_number.cpp Applied suggested changes. * Update armstrong_number.cpp Co-authored-by: David Leal <halfpacho@gmail.com>
42 lines
876 B
C++
42 lines
876 B
C++
// Program to check whether a number is an armstrong number or not
|
|
#include <iostream>
|
|
#include <cmath>
|
|
using std::cin;
|
|
using std::cout;
|
|
|
|
int main() {
|
|
int n = 0, temp = 0, rem = 0, count = 0, sum = 0;
|
|
cout << "Enter a number: ";
|
|
cin >> n;
|
|
|
|
temp = n;
|
|
|
|
/* First Count the number of digits
|
|
in the given number */
|
|
while(temp != 0) {
|
|
temp /= 10;
|
|
count++;
|
|
}
|
|
|
|
/* Calaculation for checking of armstrongs number i.e.
|
|
in a n digit number sum of the digits raised to a power of n
|
|
is equal to the original number */
|
|
|
|
temp = n;
|
|
while(temp!=0) {
|
|
rem = temp%10;
|
|
sum += (int) pow(rem,count);
|
|
temp/=10;
|
|
}
|
|
|
|
|
|
if (sum == n) {
|
|
cout << n << " is an armstrong number";
|
|
}
|
|
else {
|
|
cout << n << " is not an armstrong number";
|
|
}
|
|
|
|
return 0;
|
|
}
|