Pagini recente » Profil Robert9000 | Monitorul de evaluare | Cod sursa (job #285466) | Rating Iordache Gabriela Alina (gabriella) | Cod sursa (job #2450871)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("fractii.in");
ofstream g("fractii.out");
long long phi(long long n)
{
long long result = n;
for (long long p = 2; p * p <= n; ++p) {
if (n % p == 0) {
while (n % p == 0)
n /= p;
result -= result / p;
}
}
if (n > 1)
result -= result / n;
return result;
}
long long n, a00[1000001] = {1, 2, 3, 5, 7};
long long fA00(long long n){
if(a00[n-1]) return a00[n-1];
else{
long long i = n-1;
for(; !a00[i]; i--);
i+=1;
for(; i <= n-1; i++){
a00[i] = a00[i-1] + phi(i);
}
return a00[n-1];
}
}
int main(){
f >> n; n+=1;
g << 2*fA00(n)-3;
}