Cod sursa(job #244288)

Utilizator dorusarmasandorusarmasan dorusarmasan Data 14 ianuarie 2009 20:52:50
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <fstream.h>
ifstream fin ("fractii.in");
ofstream fout("fractii.out");
int Cmmdc(int a , int b);
int Prin(int x);
int main()
{
	long int n,i,s;
	fin >> n;
	s = n;
	for(i = 2;i <= n;i++)
	{
		if(i % 2 == 1 && Prim(i)) s = s +(n-(n/i));
		else
		for(int j = 1;j <= n;j++)
				if(Cmmdc(i , j)==1) s++;
	}
		fout << s;
}
int Cmmdc(int a ,int b)
{
	while(a != b)
	{
		if(a > b) a = a - b;
		else      b = b - a;
	}
	return a;
}

Prim(int x)
{
	if(x == 0 || x == 1) return 0;
	if(x == 2) return 1;
	if(x % 2 == 0) return 0;
	for(int i = 3;i*i <= n;i++)
		if(x%i == 0) return 0;
	return 1;
}