Cod sursa(job #1060745)

Utilizator TediConstantinescu Adrian Tedi Data 18 decembrie 2013 17:30:13
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <iostream>
#include <fstream>
using namespace std;

int phi[100000000/2/8+1];
//ciurul lui eratostene
int getTheNumber(int n) 
{
  int i, j, nr = 0;
  for (i = 2; i <= n; ++i) 
  {
    if (phi[i] == 0) 
	{
      nr++;
      for (j = i + i; j <= n; j += i) 
	  {
        phi[j] = 1;
      }
    }
  }
  return nr;
}

int main() 
{
	ifstream fin("fractii.in");
	ofstream fout("fractii.out");

	long n;
	long s=0;
	cin>>n;

	for (int i = 1; i <= n; ++i)
	  phi[i] = i-1;
	for (int i = 2; i <= n; ++i)
	{
		s=s+phi[i];
		for (int j = 2*i; j <= n; j += i)
		{
			phi[j] -= phi[i];
		}
	}
	cout<<2*s+1;
}