1 条题解

  • 0
    @ 2025-2-21 20:03:47

    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
    上传者