Cod sursa(job #942932)
| Utilizator | Data | 23 aprilie 2013 21:02:07 | |
|---|---|---|---|
| Problema | Fractii | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 1.03 kb |
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("fractii.in");
ofstream g("fractii.out");
inline int cmmdc (int a,int b)
{
while (a!=b)
if (a>b)
a=a-b;
else
b=b-a;
return a;
}
void fractii ()
{
int n, q=1, p=1, k=0, pp, qq;
f>>n;
pp=1;
qq=1;
while(p<=n && q<=n)
{
if(cmmdc (pp,qq)==1)
{
if(q!=n)
{
++q;
++k;
qq=q;
}
else if(q==n)
{
++p;
q=1;
pp=p; qq=1;
++k;
}
}
else if(cmmdc(pp,qq)!=1)
{
if(q!=n)
{
++q;
qq=q;
}
else if(q==n)
{
++p;
pp=p;
q=1;
qq=q;
}
}
}
g<<k;
}
int main ()
{
fractii ();
}
