Cod sursa(job #756575)

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

char prim[200006];
void init(int x) {
	int i;
	for(i=1; i<=x; i++) {
		prim[i]='1';
	}
	prim[1]='1';
}

int main() {
	ifstream f("sum.in");
	ofstream g("sum.out");
	
	int n, x, t, i, j, k, s;
	
	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]='-';
		}
		
		for(i=1; i<=x; i++) {
			if(prim[i]=='-') 
				for(j=i; j<=x; j+=i) prim[j]='0';
			if(prim[i]=='1') s++;
		}
	//	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]=='1') s+=i;
		g<<s*2*x<<"\n";
		
	}
	
	f.close();
	g.close();
	return 0;
}