Pagini recente » preONI 2005 runda #1 - solutii | Cod sursa (job #749087) | Cod sursa (job #2314891) | Cod sursa (job #803428) | Cod sursa (job #825545)
Cod sursa(job #825545)
#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
unsigned long long n,nr=0,i,j;
unsigned long long phi[1000000];
FILE *in = fopen("fractii.in", "r");
FILE *out = fopen("fractii.out", "w");
fscanf(in, "%lld", &n);
for(int i=1;i<=n;i++)
phi[i] = i-1;
for(int i=2;i<=n;++i)
{
for(int j=2*i;j<=n;j +=i)
phi[j] -= phi[i];
nr += phi[i];
if(i>=3)
nr += phi[i]-1;
}
//for(int i=1;i<=n;i++)
// nr += phi[i];
nr += n ;
/*if(nr >= 3)
for(i=3;i<=n;i++)
nr += phi[i]-1; */
//cout<<phi[4];
fprintf(out,"%lld", nr);
}