Cod sursa(job #345410)
Utilizator | Data | 2 septembrie 2009 21:13:45 | |
---|---|---|---|
Problema | Algoritmul lui Euclid | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.56 kb |
#include<fstream.h>
#include<iostream.h>
main()
{
long a,b,i,j,t,max;
fstream f("euclid2.in",ios::in);
fstream g("euclid2.out",ios::out);
f>>t;
for(i=1; i<=t; i++)
{
f>>a; f>>b;
max=0;
if(a%b==0)g<<b;
else if(b%a==0)g<<a;
else if(a > b)
{
for(j=1; j<=b/2; j++)
if(b%j==0 && a%j==0 && j>max) max=j;
g<<max;
}
else if(a<b)
{
for(j=1; j<=a/2; j++)
if(a%j==0 && b%j==0 && j>max) max=j;
g<<max;
}
else g<<a;
g<<endl;
}
f.close();
g.close();
return 0;
}