Adsence

miércoles, 18 de mayo de 2011

Factorion

Leave a Comment
[caption id="attachment_1066" align="aligncenter" width="684"]Factorion en C Factorion en C[/caption]

Un factorion es un numero que es igual a la suma de los factoriales, de los digitos que lo componen. Por ejemplo 145 es un factorion, ya que 1! + 4! + 5! = 1 + 24 + 120 = 145. Escriba un programa en C, utilizando funciones que encuentre los tres primeros factoriones.



[cpp]

/*
Un factorion es un numero que es igual a la suma de los factoriales, de los digitos que lo componen. Por ejemplo 145 es un
factorion, ya que 1! + 4! + 5! = 1 + 24 + 120 = 145. Escriba un programa en C, utilizando funciones que encuentre los tres
primeros factoriones.

*/
#include< stdio.h >
#include< conio.h >

void portada();
void final();
int factorial(int n)
{
int f=1;
for(int i=2;i< =n;i++)
{
f=f*i;
}
return f;

};
void factorion(int num)
{
int provicional,s=0,n;
n=num;
while(n >10)
{
provicional=n%10;
s=s+factorial(provicional);
n=n/10;

}
s=s+factorial(n);
if(s==num)
{
printf("\n\n-------------------------------------------------------------------------------\n");
printf("El numero %d es un factorio, ya que la suma factorial de sus digitos es: %d\n",num,s);
printf("-------------------------------------------------------------------------------\n");
}else{
printf("\n\n-------------------------------------------------------------------------------\n");
printf("El numero %d no es un factorio, ya que la suma factorial de sus digitos es: %d\n",num,s);
printf("-------------------------------------------------------------------------------\n");

}
};
int datos()
{
int i,j,k;
printf("Digite el numero del cual deseas saber si es factorio: ");
scanf("%d",&k);
factorion(k);

};

main(){
char r;
portada();
do{
datos();
printf("Desea realizar otro analizis? (s/n): ");
scanf("%s",&r);
}while (r=='s');
final();
getch();
return 0;
};

void portada(){
printf("...............................................................................\a\n");
printf("................******.*****.** **.*****.****.*****.*****..**................\a\n");
printf("................ ** .** **.*** ***.** **.** .** **.**.**.***................\a\n");
printf("................ ** .*****.*******.*****.****.*****.*****..**................\a\n");
printf("................ ** .** **.** * **.** .** .*** ....**..**................\a\n");
printf("................**** .** **.** **.** .****.** **....**.****...............\a\n");
printf("...............................jamper91.hostei.com.............................\a\n");
printf("\n");
};
void final(){
printf("-------------------------------------------------------------------------------\a\n");
printf ("******************************************************************************\a\n");
printf (" Creado por jamper91@hotmail.com\n");
printf (" Cucuta Campeon\n");
printf ("******************************************************************************\a\n");
printf("-------------------------------------------------------------------------------\a\n");
};[/cpp]

0 comentarios :