Cod sursa(job #735514)

Utilizator Vladinho97Iordan Vlad Vladinho97 Data 16 aprilie 2012 17:49:29
Problema Fractii Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<fstream>
using namespace std;

int main()
{
	int n,nr,k,j;
	long long s;
	ifstream f("fractii.in");
	ofstream g("fractii.out");
	f>>n;
	char v[2000005];
	v[1]='p';
	for(j=2;j<=n;j++)
		v[j]='r';
	for(j=2;j<=n;j++)
		if(v[j]=='r')
		{
			nr=1;
			for(k=j+j;k<=n;k+=j)
			{
				nr++;
				if(nr==j)
				{
					v[k]=0;
					nr=0;
				}
				else
				{
					if((v[k]=='r')||(v[k]=='p'))
						v[k]='i';
					else
						if(v[k]=='i')
							v[k]='p';
				}
			}
		}
	s=0;
	for(j=1;j<=n/2;j++)
	{
		if((v[j]=='i')||(v[j]=='r'))
			s-=(n/j)*(n/j-1)/2;
		if(v[j]=='p')
			s+=(n/j)*(n/j-1)/2;
	}
	g<<2*s+1;
}