Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdlib>
- #include <cstdio>
- #include <math.h>
- using namespace std;
- int main(int argc, char** argv) {
- int num, sum, auxNum, numDigitos;
- int digito;
- int esPerfecto, esNarcisista, esCompleto;
- while (scanf("%d", &num) != EOF) {
- int numDigitos = 0;
- int sumDiv = 0;
- for (int i = 1; i <= num / 2; i++) {
- if ((num % i) == 0)
- sumDiv += i;
- }
- esPerfecto = num == sumDiv;
- auxNum = num;
- while (auxNum != 0) {
- numDigitos += 1;
- auxNum /= 10;
- }
- double sum = 0;
- auxNum = num;
- while (auxNum != 0) {
- digito = auxNum % 10;
- sum = sum + pow(1.0 * digito, numDigitos);
- auxNum /= 10;
- }
- esNarcisista = sum == num;
- if (esPerfecto && esNarcisista)
- printf("Completo\n");
- else if (esPerfecto)
- printf("Perfecto\n");
- else if (esNarcisista)
- printf("Narcisista\n");
- else
- printf("Ninguno\n");
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement