Cod sursa(job #1733528)
Utilizator | Data | 24 iulie 2016 20:46:52 | |
---|---|---|---|
Problema | Fractii | Scor | 100 |
Compilator | c | Status | done |
Runda | Arhiva de probleme | Marime | 0.33 kb |
#include<stdio.h>
unsigned v[1000001];char p[125001];unsigned long long t,i,j,n;main(){freopen("fractii.in","r",stdin);freopen("fractii.out","w",stdout);scanf("%u",&n);for(i=2;i<=n;i++)if(p[i/8]&1<<i%8)t+=v[i];else for(t+=i-1,j=i<<1;j<=n;j+=i)p[j/8]|=1<<j%8,v[j]?v[j]=v[j]*(i-1)/i:(v[j]=j*(i-1)/i);printf("%lld",2*t+1);fclose(stdout);}