Cod sursa(job #716802)

Utilizator dtoniucDaniel Toniuc dtoniuc Data 19 martie 2012 11:52:59
Problema Sum Scor 45
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <iostream>
#include <fstream>
#define NMAX 200010
using namespace std;
int t,a[NMAX],c[NMAX];
void ciur()
{
	for(int i=4;i<=NMAX;i+=2)
		c[i]=1;
	for(int i=3;i<=NMAX;i+=2)
		if(c[i]==0)
			for(int j=i+i;j<=NMAX;j+=i)
				c[j]=1;
}
int main()
{
	ciur();
	ifstream fin("sum.in");
	fin>>t;
	ofstream fout("sum.out");
	while(t)
	{
		int n,s=0;
		fin>>n;
		for(int i=2;i<=n;i++)
			if(c[i]==0 && n%i==0)
				for(int j=i;j<=2*n;j+=i)
					a[j]=1;
		for(int i=1;i<=n+n;i++)
			if(a[i]==0) 
				s+=i;
			else
				a[i]=0;
		t--;
		fout<<s<<'\n';
	}
	return 0;
}