Pagini recente » Cod sursa (job #1287023) | Cod sursa (job #260550) | Cod sursa (job #1338260) | Cod sursa (job #2918408) | Cod sursa (job #826463)
Cod sursa(job #826463)
#include<fstream>
#include<cstring>
#include<vector>
using namespace std;
#define MIL 1000003
ifstream fin("fractii.in");
ofstream fout("fractii.out");
bool Prime[MIL];
long long Sol,Sus[MIL],Jos[MIL];
int N;
void ciur(){
int i,j;
//memset(Jos,1,sizeof(Jos));
for(i=1;i<MIL;i++){
Sus[i]=i;
Jos[i]=1;
if(!(i%2))
Jos[i]=2;
}
for(i=3;i<=1000;i+=2){
if(!Prime[i]){
for(j=i ; j<=N; j+=i){
Prime[j]=1;
Sus[j]*=(i-1);
Jos[j]*=i;
}
}
}
for(i=2;i<=N;i++){
Sol+=2*(Sus[i]/Jos[i]);
}
}
int main(){
fin>>N;
Sol=1;
ciur();
fout<<Sol<<"\n";
fin.close();
fout.close();
return 0;
}