1 条题解
-
0
C :
#include <stdio.h> int fun ( int a , int b ) { int i , t ; if ( a < b ) { t = a ; a = b ; b = t ; } if ( a % b == 0 ) { return b ; } else { for ( i = b - 1 ; i >= 1 ; i-- ) { if ( a % i == 0 && b % i == 0 ) return i ; } } } int main ( void ) { int n , i , a , b , c ; scanf ( "%d", &n ) ; for ( i = 1 ; i <= n ; i++ ) { scanf ( "%d%d", &a , &b ) ; c = fun ( a , b ) ; printf ( "%d %d\n" , c , (a * b / c ) ) ; } return 0 ; }
C++ :
#include <iostream> #include <stdio.h> using namespace std; int main() { int k,m,n,a,b; scanf("%d",&k); while(k--) { int t; scanf("%d %d",&m,&n); if(m<n){ a=n;b=m; } else { a=m;b=n; } while(b!=0) { t=a%b;a=b;b=t; } printf("%d %d\n",a,m*n/a); } return 0; }
Pascal :
var m,n,a,b,r,c,d,i:longint; begin readln(d); for i:=1 to d do begin readln(m,n); if m>n then begin c:=m;m:=n;n:=c; end; a:=m;b:=n;r:=a mod b; while r<>0 do begin a:=b;b:=r;r:=a mod b; end; writeln(b,' ',m*n div b); end; end.
- 1
信息
- ID
- 1029
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者