Pagini recente » Cod sursa (job #2208559) | Cod sursa (job #1662254) | Cod sursa (job #2890253) | Cod sursa (job #2367846) | Cod sursa (job #199321)
Cod sursa(job #199321)
#include <fstream.h>
int cmmdc(long a, long b)
{ long r;
if(a!=1)
{while(b)
{ r=a%b;
a=b;
b=r;
}
return a;}
else {
return 1;
}
}
int main()
{ long n, p, q;
unsigned int nr_fractii=0;
ifstream f("fractii.in");
ofstream f2("fractii.out");
// ia numarul
f>>n;
/* fractia e de forma p/q, pentru q=1, toate sunt reductibile, deci q porneste de la 2
daca q e divizibil cu 2, atunci p merge doar pe nre impare, toate fractiile cu nrele pare sunt simplificabile
*/
for(q=1;q<=n;q++)
{
if(q%2==0)
{
nr_fractii++;
for(p=2;p<=n; p+=2)
{
if(cmmdc(p,q)==1)
nr_fractii++;
}
}
else
{
nr_fractii++;
for(p=2;p<=n; p++)
if(cmmdc(p,q)==1)
nr_fractii++;
}
}
f2<<nr_fractii;
return 0;
}