#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
#include <string.h>
#include <strings.h>
int main()
{ printf(" ** SUMA DE DIGITOS DE ENERGIA **\n\n"); printf(" Para que sepa que es la suma de digitos de energia, le pongo un ejemplo:\n\n"); printf(" 2^15 = 32.768\n 3 + 2 + 7 + 6 + 8 = 26"); float m, suma_tot, result2;
int vect_result1[253], j, k=0, l=0, w, n, o;
int i, num, exp;
double result1;
printf("\n\n Ahora, elige el numero y su exponente que desea operar: \n"); printf(" Numero: "); scanf(" %d", &num); printf("\n Exponente: "); scanf(" %d", &exp); result1 = pow(num, exp);
result2 = result1;
if(result1>1000000000000)
{ printf("\n\n Lo siento. Pero el numero es demasiado grande."); return 0;
}
o = 1;
for(i=1;i<1000000000000;i=i*10)
{ l++;
if(result1/o < 10)
{ for(m=0;m<l;m++)
{ if(m==0)
{ result1 = result1/o;
o = o/10;
}
vect_result1[k] = result1;
j = vect_result1[k];
k++;
switch(j)
{ case 0:
result1 = result1 * 10;
break;
case 1:
result1 = result1 - 1;
result1 = result1 * 10;
break;
case 2:
result1 = result1 - 2;
result1 = result1 * 10;
break;
case 3:
result1 = result1 - 3;
result1 = result1 * 10;
break;
case 4:
result1 = result1 - 4;
result1 = result1 * 10;
break;
case 5:
result1 = result1 - 5;
result1 = result1 * 10;
break;
case 6:
result1 = result1 - 6;
result1 = result1 * 10;
break;
case 7:
result1 = result1 - 7;
result1 = result1 * 10;
break;
case 8:
result1 = result1 - 8;
result1 = result1 * 10;
break;
case 9:
result1 = result1 - 9;
result1 = result1 * 10;
break;
}
}
n = -5;
}
if(n==-5)break;
o = o*10;
}
n = 0;
for(i=0;i<l;i++)
{ w = vect_result1[n];
suma_tot = suma_tot + w;
n++;
}
printf("\n\n El resultado de %d elevado a %d es %.0f, y la suma de sus digitos es %.0f", num, exp, result2, suma_tot); return 0;
}
Comentarios sobre la versión: 20171114 (0)
No hay comentarios