Cod sursa(job #2415140)
| Utilizator | Data | 25 aprilie 2019 16:10:39 | |
|---|---|---|---|
| Problema | Fractii | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.59 kb |
#include <fstream>
#include <string.h>
#include <cmath>
#define xmax 1000000
using namespace std;
ifstream f("fractii.in");
ofstream g("fractii.out");
int n;
long long dp[1000005];
int main()
{
f>>n;
if(n==1)
{
g<<1<<'\n';
return 0;
}
if(n==2)
{
g<<3<<'\n';
return 0;
}
for(int i=2;i<=n;i++)
dp[i]=i-1;
for(int i=2;i<=n/2;i++)
for(int j=i+i;j<=n;j+=i)
dp[j]-=dp[i];
long long sol=0;
for(int i=2;i<=n;i++)
sol+=dp[i];
g<<(sol<<1)+1<<'\n';
return 0;
}
