Cod sursa(job #717009)

Utilizator rayvianPricope Razvan rayvian Data 19 martie 2012 15:22:19
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <fstream>
#include <bitset>
#include <iostream>
using namespace std;

const unsigned long MAX=5000000;
bitset<MAX> primes;


/**
	Finds the kth prime number
*/
unsigned long kth_prime(int k){
	primes[2]=1;
	int gasit=1;
	unsigned long prim=2;
	while(gasit!=k){
		for(unsigned long start=prim; start<=MAX; start+=prim)
			primes[start]=1;
		while(primes[prim]==1)
			prim++;
		gasit++;
	}

	return prim;
}

int main(){
	ifstream fin("prim.in");
	ofstream fout("prim.out");
	int k;
	fin>>k;
	unsigned long rez=kth_prime(k+1);
	fout<<rez*rez;
	
	return 0;
}