Pagini recente » Cod sursa (job #591610) | Cod sursa (job #2248125) | Cod sursa (job #2120861) | Cod sursa (job #2651912) | Cod sursa (job #2515787)
#include <fstream>
unsigned N;
unsigned phi[1000001];
long long S = 1;
void computeTotient()
{
for (long i=1;i<=N;i++) phi[i]=i;
for (long i=2;i<=N;i++)
if (phi[i]==i)
for (long j=i;j<=N;j+=i) phi[j] /=i, phi[j] *= (i-1);
}
int main()
{
std::ifstream fisierIN("fractii.in");
fisierIN >> N;
fisierIN.close();
computeTotient();
for (unsigned i = 2; i <= N; ++i)
{
S += 2 * phi[i];
}
std::ofstream fisierOUT("fractii.out");
fisierOUT << S;
fisierOUT.close();
return 0;
}