diff options
feat(Week05): Add exercises and solutions
1 files changed, 33 insertions, 0 deletions
| -rw-r--r-- | Week05/Exercise17.cpp | 33 |
diff --git a/Week05/Exercise17.cpp b/Week05/Exercise17.cpp new file mode 100644 index 0000000..fce4b64 --- /dev/null +++ b/Week05/Exercise17.cpp @@ -0,0 +1,33 @@ +#include <iostream> + +int main() { + unsigned int number; + std::cin >> number; + + unsigned int number_length, number_copy = number; + + for (number_length = 0; number_copy != 0; number_length++) { + number_copy /= 10; + } + + unsigned int sum = 0; + number_copy = number; + + while (number_copy != 0) { + unsigned int to_power = 1, digit = number_copy % 10; + + for (unsigned int i = 0; i < number_length; i++) { + to_power *= digit; + } + + sum += to_power; + number_copy /= 10; + } + + if (number == sum) + std::cout << "Narcissistic" << std::endl; + else + std::cout << "Not narcissistic" << std::endl; + + return 0; +} |
