Cod sursa(job #193725)
| Utilizator | Data | 6 iunie 2008 17:29:49 | |
|---|---|---|---|
| Problema | Fractii | Scor | 60 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.45 kb |
#include"stdio.h"
#include"stdint.h"
uint_fast64_t g,h,n,out,a[2000000];
void fct(uint_fast64_t g,uint_fast64_t h)
{
if(h>n){g++;h=2*g;}
if(g<=n){a[h]-=a[g];fct(g,h+g);}
}
int main ()
{
freopen ("fractii.in","r",stdin);
freopen ("fractii.out","w",stdout);
scanf ("%lld",&n);for (g=1;g<=n;g++)a[g]=g-1;
fct(2,4);
for (g=1;g<=n;g++,out+=a[g]);
printf ("%lld",2*out+1);
return 0;
}
