Cod sursa(job #1838570)
| Utilizator | Data | 1 ianuarie 2017 12:01:55 | |
|---|---|---|---|
| Problema | Fractii | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.48 kb |
#include <fstream>
#include <iostream>
using namespace std;
ifstream in("fractii.in");
ofstream out("fractii.out");
int log(int n,int p)
{
int c=0;
while(n>=p)
{
n/=p;
c++;
}
return c;
}
int sum(int p)
{
return (p*(p-1))/2;
}
int main()
{
int n,part;
in>>n;
int cnt=n-1;
for(int i=2;i<n;i++)
{
cnt+=n-i;
part=n/i;
cnt-=(sum(part));
cnt+=sum(log(n,i)-1);
}
cnt=2*cnt+1;
out<<cnt;
}
