Pagini recente » Cod sursa (job #240332) | Cod sursa (job #1973157) | Cod sursa (job #240059) | Borderou de evaluare (job #408051) | Cod sursa (job #599141)
Cod sursa(job #599141)
#include <iostream>
#include <fstream>
using namespace std;
long n, k=0;
void citire(){
ifstream in("fractii.in");
in >> n;
in.close();
}
void afis(){
ofstream out("fractii.out");
out << k;
out.close();
}
long cmmdc(long x, long y){
long r;
while(y!=0){
r = x%y;
x=y;
y=r;
}
return x;
}
int num(long x){
if(x == 1) return n;
long k1=0, k2=0;
for(long i=1;i<=x;++i)
if(cmmdc(x,i) == 1) ++k1;
k2=(n/x);
k1*=k2;
for(long i=k2*x;i<=n;++i)
if(cmmdc(x,i) == 1) ++k1;
return k1;
}
int main()
{
citire();
for(long i=1;i<=n;++i) k+=num(i);
afis();
return 0;
}