Pagini recente » Cod sursa (job #80640) | Cod sursa (job #2097026) | Cod sursa (job #1149734) | Cod sursa (job #2834875) | Cod sursa (job #87993)
Cod sursa(job #87993)
#include<fstream.h>
unsigned int cmmdc(unsigned int u, unsigned int v)
{
int shift;
if (u == 0 || v == 0)
return u | v;
for (shift = 0; ((u | v) & 1) == 0; ++shift) {
u >>= 1;
v >>= 1;
}
while ((u & 1) == 0)
u >>= 1;
do {
while ((v & 1) == 0)
v >>= 1;
if (u <= v) {
v -= u;
} else {
int diff = u - v;
u = v;
v = diff;
}
v >>= 1;
} while (v != 0);
return u << shift;
}
int main()
{
ifstream fin("fractii.in");
ofstream fout("fractii.out");
unsigned long a,b,n,c=0;
fin>>n;
for(a=2;a<=n;a++)
for(b=1;b<=n;b++)
if(cmmdc(a,b)==1) c++;
fout<<(c+n);
fout.close();
return 0;
}