#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