Cod sursa(job #716828)

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