Cod sursa(job #756564)

Utilizator harababurelPuscas Sergiu harababurel Data 9 iunie 2012 21:46:02
Problema Sum Scor 45
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
//metoda gandita un pic
#include <iostream>
#include <fstream>
using namespace std;

bool prim[100005];
void init(int x) {
	int i;
	for(i=1; i<=2*x; i++) {
		prim[i]=1;
	}
	prim[1]=1;
}
int cmmdc(int a, int b) {
	if(b==0) return a;
	return cmmdc(b, a%b);
}
	

int main() {
	ifstream f("sum.in");
	ofstream g("sum.out");
	
	int n, x, t, i, j, k;
	long long s=0;
	
	f>>n;
	for(t=1; t<=n; t++) {
		f>>x;
		init(x);	//le face pe toate 1;
		s=0;
		
		for(i=2; i<=x; i++) {
			if(x%i==0) prim[i]=0;
		}
		
		for(i=1; i<2*x; i++) {
			if(!prim[i]) 
				for(j=i; j<=2*x; j+=i) prim[j]=0;
		}
	//	if(x%2==0) for(i=2; i<=2*x; i+=2) prim[i]=0;
		for(i=1; i<=2*x; i++) 
			if(prim[i]) s+=i;
		g<<s<<"\n";
		
	}
	
	f.close();
	g.close();
	return 0;
}