1 #include <cstdio> 2 int gcd(int a,int b) 3 { 4 return b==0?a:gcd(b,a%b); 5 } 6 int gcd1(int a,int b) 7 { 8 if(a==0)return b; 9 if(b==0)return a; 10 if(a<b) return gcd(a,b-a); 11 else return gcd(b,a-b); 12 } 13 int gcd3(int a,int b) 14 { 15 while(a!=0&&b!=0){ 16 if(a<b) b=b-a; 17 else {int t;t=a;a=b;b=t-b;} 18 } 19 if(a==0)return b; 20 else return a; 21 } 22 int main(){ 23 int a;int b; 24 while(scanf("%d%d",&a,&b)!=EOF){ 25 printf("%d %d %d ",gcd1(a,b),gcd(a,b),gcd3(a,b)); 26 } 27 28 return 0; 29 } 30 #include<stdio.h> 31 int main() 32 { 33 int a,i,b,s,c,max,min,d; 34 while(scanf("%d%d",&a,&b)!=EOF) 35 { 36 if(a<b) 37 { 38 s=a; 39 a=b; 40 b=s; 41 } 42 if(b==0&&a!=0) 43 printf("%d %d ",0,b); 44 if(a==b) 45 printf("%d %d ",a,b); 46 max=a; 47 min=b; 48 if(a>b&&b!=0) 49 { 50 while(a!=0&&b!=0) 51 { 52 c=a; 53 a=a%b; 54 if(a!=0) 55 { 56 c=a; 57 b=b%a; 58 } 59 if(b!=0) 60 { 61 c=b; 62 } 63 } 64 printf("%d %d ",c,max*min/c); 65 } 66 } 67 return 0; 68 }