#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