#include <iostream>
using namespace std;
int main()
{
int sum = 0 ;
int fac[10] = {1,1,2};
for(int i = 3; i<=9; i++)
fac[i] = i*fac[i-1];
int num = 0;
int n[5]= {0};
for(n[0] = 0 ; n[0]<10 ; n[0]++)
for(n[1] = 0 ; n[1]<10 ; n[1]++)
for(n[2] = 0 ; n[2]<10 ; n[2]++)
for(n[3] = 0 ; n[3]<10 ; n[3]++)
for(n[4]= 0 ; n[4]<10 ; n[4]++)
{
int pos = 0 ;
while(pos <=4 && n[pos]==0)
pos++;
if(fac[n[0]]+fac[n[1]]+fac[n[2]]+fac[n[3]]+fac[n[4]]-pos==num)
{
cout << n[0] << "! + ";
cout << n[1] << "! + ";
cout << n[2] << "! + ";
cout << n[3] << "! + ";
cout << n[4] << "! = " << num<< endl;
sum += num;
}
num++;
}
cout << sum-3<< endl;
/*Le restamos 3 por que en el enunciado
indica que no hay que sumar 1! = 1 y 2! = 2
*/
return 0;
}
martes, 10 de abril de 2012
Project Euler 34
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario