1 条题解

  • 0
    @ 2025-4-7 21:41:51

    C :

    #include <stdio.h>
    int gcd(int m, int n){
        return (n>0) ? gcd(n, m%n) : m;
    }
    int lcm(int m, int n){
        return m * n / gcd(m,n);
    }
    int main(){
        int n,a,b,c;
        scanf("%d",&n);
        while(n--){
            scanf("%d %d",&a, &b);
            printf("%d %d\n", gcd(a, b), lcm(a, b));
        }
        return 0;
    }
    
    

    C++ :

    #include<iostream>
    using namespace std;
    int gcd(int a,int b){
    	if(b==0)
    		return a;
    	else
    		return gcd(b,a%b);
    }
    int main(){
    	int n;
    	cin>>n;
    	while(n--){
    		int a,b,max,min;
    		cin>>a>>b;
    		min=gcd(a,b);
    		max=a*b/min;
    		cout<<min<<" "<<max<<endl;
    
    	}
    }
    

    Pascal :

    program x1;
    var
      t,a,b,i,m,n,r:integer;
      d:real;
    begin
      readln(t);
      for i:=1 to t do
      begin
        readln(a,b);
        n:=a; m:=b;
        r:=n mod m;
        while r<>0 do
        begin
          n:=m;
          m:=r;
          r:=n mod m;
        end;
        d:=a*b/m;
        writeln(m,' ',d:0:0);
      end;
    end.
    

    Java :

    import java.util.Scanner;
    public class Main
    {
    	public static void main(String[] args)
    	{
    		Scanner scan=new Scanner(System.in);
    		int n=scan.nextInt();
    		while(n-->0)
    		{
    			int i=scan.nextInt();
    			int j=scan.nextInt();
    			int x=i,y=j;
    			if(i>=j){
    				int a=i%j;
    				while(a!=0){
    					i=j;
    					j=a;
    					a=i%j;
    				}
    				System.out.print(j+" ");
    			}else{
    				int t;
    				t=j;
    				j=i;
    				i=t;
    				int a=i%j;
    				while(a!=0){
    					i=j;
    					j=a;
    					a=i%j;
    				}
    				System.out.print(j+" ");
    			}
    			System.out.println((x*y)/j);
    		}
    	}
    }        
    
    • 1

    信息

    ID
    2006
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者