Cod sursa(job #2683027)
| Utilizator | Data | 10 decembrie 2020 11:24:10 | |
|---|---|---|---|
| Problema | Fractii | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.58 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream fi("fractii.in");
ofstream fo("fractii.out");
int N;
int dp[1000001];
void DP()
{
for(int i=2;i<=N;i++)
{
int con=(i-1)*2;
int conn=0;
for(int j=2;j*j<=i;j++)
{
if(i%j==0)
{
conn=conn+(i/j-1)*2;
if(i/j%j!=0)
conn=conn+(i/(i/j)-1)*2;
}
}
dp[i]=dp[i-1]+con-conn;
}
}
int main()
{
fi>>N;
dp[1]=1;
DP();
fo<<dp[N];
return 0;
}
