#include <iostream>
#include <algorithm>
#include <stdlib.h>
using namespace std;
int primos[8] = {2,3,5,7,11,13,17};
int main()
{
string ini = "0123456789";
string fin = "9876543210";
unsigned long long int suma = 0 ;
while(ini.compare(fin)!=0)
{
bool sw = true;
for(int i = 7; i >= 1 && sw; i--)
sw = ((((ini[i]-'0')*100+(ini[i+1]-'0')*10+(ini[i+2]-'0'))%primos[i-1])==0);
if(sw)
suma += atof(ini.data());
next_permutation(ini.begin(),ini.end());
}
cout <<suma << endl;
return 0;
}
martes, 10 de abril de 2012
Project Euler 43
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario