Mai intai trebuie sa te autentifici.
Cod sursa(job #352249)
Utilizator | Data | 30 septembrie 2009 21:35:21 | |
---|---|---|---|
Problema | Fractii | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.59 kb |
#include<stdio.h>
#include<iostream.h>
#include<math.h>
long n,v[1250];
void prim(long k)
{
int p=0;
for(long i=0;i<sqrt(k);i++)
{
if(!k%i)
{
v[p++]=i;
while(!k%i)
k/=i;
}
}
v[p++]=k;
v[p]=0;
}
long t(long k)
{
prim(k);
int p=0;
long rez;
double totient;
while(v[p])
totient=totient*(1-1./(double)v[p++]);
rez=(int)totient +1;
}
int main()
{
long i;
long long fract;
freopen("fractii.in","r",stdin);
freopen("fractii.out","w",stdout);
cin>>n;
for(i=2;i<n;i++)
fract+=t(i);
fract*=2;fract++;
cout<<fract;
return 0;
}