Pagini recente » Monitorul de evaluare | Borderou de evaluare (job #1521616) | Borderou de evaluare (job #77921) | Borderou de evaluare (job #375683) | Cod sursa (job #809129)
Cod sursa(job #809129)
#include<fstream>
#define LMAX 1000002
using namespace std;
unsigned int euler(unsigned int length){
unsigned int phi[LMAX],i,j,sum = 0;
for(i = 1; i <= length; i++){
phi[i] = i-1;
}
for(i = 2; i <= length; i++){
for(j = 2*i; j<= length; j+=i){
phi[j] -= phi[i];
}
}
for(i = 1; i <= length; i++){
sum += phi[i];
}
return sum;
}
int main(){
unsigned int n;
ifstream fin("fractii.in");
ofstream fout("fractii.out");
fin>>n;
fout << euler(n)*2 + 1<<"\n";
fin.close();
fout.close();
return 0;
}