#include <iostream> #include <string.h> #define tam 28123 using namespace std; static int vec[tam]; static bool vec2[tam]; int sum_div(int n) { int sum=1; for(int i=2; i<=n/2; i++) { if(n%i==0) { sum+=i; } } return sum; } int main() { int conta=0; for(int i=1; i<tam; i++) { if(sum_div(i)>i) { vec[conta]=i; conta++; } } memset(vec2,true,tam); int sum_abun=0; for(int r=0; r<conta; r++) { for(int i = 0; i < conta; i++) { sum_abun=vec[r] + vec[i]; if(sum_abun <= tam) { vec2[sum_abun] = false; } } } int tot = 0; for(int i=0; i<tam; i++) { if(vec2[i]) tot +=i; } cout<<tot<<endl; return 0; }
martes, 14 de febrero de 2012
Project Euler 23
Publicado por
starsaminf
en
22:57
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
Etiquetas:
projecteuler
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario