Cod sursa(job #1627050)
Utilizator | Sbengheci Vlad-Andrei Vlad1111 | Data | 3 martie 2016 13:49:33 |
---|---|---|---|
Problema | Fractii | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.77 kb |
#include <iostream>
#include <cstdio>
using namespace std;
int a[1000010];
int b[1000010];
int n;
int main()
{
freopen("fractii.in","r",stdin);
freopen("fractii.out","w",stdout);
scanf("%d",&n);
a[1]=n;
for(int i=2;i<=n;i++)
{
a[i]+=n;
if(b[i]==0)
{
int x=n/i;
for(int j=i;j<=n;j+=i)
{
a[j]-=x;
if(b[j]!=0)
{
a[j]+=b[j];
a[j]+=n/j-1;
}
b[j]++;
}
}
}
long long s=0;
for(int i=1;i<=n;i++)
s+=a[i];///,cout<<a[i]<<" ";
printf("%lld",s);
return 0;
}