Cod sursa(job #1060752)

Utilizator TediConstantinescu Adrian Tedi Data 18 decembrie 2013 17:35:14
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 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() 
{
	freopen("fractii.in","r+",stdin);
	freopen("fractii.out","w",stdout);

	int i,j;
	long n;
	long long s=0;
	cin>>n;

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