Cod sursa(job #468222)

Utilizator IrnukIrina Grosu Irnuk Data 2 iulie 2010 19:49:22
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.43 kb
#include <fstream>
#include <iostream>

#define NMAX 1500005

using namespace std;

long long k;
char prm[NMAX];
long long prime[100005];

int main()
{
	fstream fin,fout;
	fin.open("prim.in",ios::in);
	fout.open("prim.out",ios::out);

	//fin>>k;
	//if(k==1)
	//	fout<<"2\n";
	//else
	//{
	//	prime[0]++;
	//	prime[prime[0]]=2;
	//}
	long long n=3,nrprim;
	k=1;
	long long fk;
	fin>>fk;

	long long i,j,prim;
	prime[0]++;
	prime[prime[0]]=2;

		for(i=2;i<=NMAX && k<=fk+1;i++)
			if(prm[i]==0)
			{
				k++;
				prim=i;
				prm[i]=1;
				for(j=i+i;j<=NMAX;j=j+i)
					if(prm[j]==0)
						prm[j]=1;
			}

	//while(k<=10000)
	//{
	//	long long j;
	//	for(j=2;j<=prime[0];j++)
	//	{

	//		if(n%prime[j]==0)
	//			break;
	//	}
	//	if(j==prime[0]+1)
	//	{
	//			nrprim=n;
	//			k++;
	//			prime[++prime[0]]=nrprim;
	//	}
	//	n+=2;
	//}

//	_asm
//	{
//		mov ebx,k
//for1:
//		cmp ebx,100005
//			ja sfarsit
//
//		mov ecx,1
//for2:
//		cmp ecx,prime[0]
//			ja sfarsitFor2
//		mov eax,n
//		xor edx,edx
//		div prime[ecx]
//		cmp edx,0
//			je sfarsitFor2
//		inc ecx
//		jmp for2
//
//sfarsitFor2:
//		cmp ecx,prime[0]+1
//			je for1
//		inc ebx
//		inc prime[0]
//		mov edx,prime[0]
//		//mov prime[eax*8],n
//		mov eax,prime
//		mov ecx,n
//		mov prime[edx*4],ecx
//		add n,2
//		jmp for1
//
//sfarsit:
//
//	};
	fout<<prim*prim<<'\n';
	//getchar();
	return 0;
}