Cod sursa(job #321490)
Utilizator | Data | 6 iunie 2009 14:58:24 | |
---|---|---|---|
Problema | Fractii | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.52 kb |
#include <fstream>
std::ifstream in("fractii.in");
std::ofstream out("fractii.out");
int cmmdc( int a,int b)
{
if(a==b)
return a;
if(a%2==0||b%2==0)
{
if(b%2==0)
cmmdc(a,b/2);
if(a%2==0)
cmmdc(a/2,b);
}
else
if(a>b)
cmmdc((a-b)/2,b);
else
cmmdc((b-a)/2,a);
}
int main ()
{
int n,i,j,k=0;
in>>n;
k=2*n;
k=k+n*n/4;
for(i=3;i<=n;i+=2)
{
for(j=2;j<=n;j++)
if(i!=j)
{
if(cmmdc(i,j)==1)
k++;
}
}
out<<k;
in.close ();
out.close ();
return 0;
}