Cod sursa(job #2142725)

Utilizator AdelaGAdelaG AdelaG Data 25 februarie 2018 12:29:17
Problema Algoritmul lui Euclid Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include<iostream>
#include<fstream>
#include<cmath>
using namespace std;
ifstream f("euclid2.in");
ofstream g("euclid2.out");
long long a,b,t,d,cmmdc,i,p1,p2;
int main()
{
   f>>t;
   for(i=1;i<=t;i++)
   {
       f>>a>>b;d=2;cmmdc=1;
       while(a>1 && b>1)
       {
           p1=p2=0;
           while(a%d==0){p1++;a/=d;}
           while(b%d==0){p2++;b/=d;}
           if(p1<p2)cmmdc=cmmdc*pow(d,p1);
           else cmmdc=cmmdc*pow(d,p2);
           if(d==2)d++;
           else d+=2;
       }
       cout<<cmmdc<<endl;
   }
}