1 条题解

  • 0
    @ 2025-4-7 21:28:47

    C :

    #include<stdio.h>
    int f(int a,int b)
    {
    	int x,y,r;
    	x=a>=b?a:b;
    	y=a<=b?a:b;
    	r=x%y;
    	while(r!=0)
    	{
    		x=y;
    		y=r;
    		r=x%y;
    	}
    	return y;
         
    }
    int g(int a,int b)
    {
    	int t=f(a,b);
    	return (a*b)/t;
    }
    int main(void)
    {
    	int a,b;
    	scanf("%d%d",&a,&b);
    	printf("%d %d\n",f(a,b),g(a,b));
    	return 0;
    }
    
    

    C++ :

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

    Pascal :

    var
      m,n,r,x,y:longint;
    begin
      readln(m,n);
      x:=m;
      y:=n;
      repeat
        r:=m mod n;
        m:=n;
        n:=r;
      until r=0;
      writeln(m,' ',x*y div m);
    end.
    
    
    

    Java :

    import java.util.*;
    
    public class Main {
    	public static void main(String[] args) {
    		Scanner in=new Scanner(System.in);
    		int n=in.nextInt();
    		int m=in.nextInt();
    		int g=n;
    		int gcd=1,k=2;
    		while(k<=n&&k<=m){
    			if(n%k==0&&m%k==0)
    				gcd=k;
    			k++;
    		}
    		for(int i=n;i<=n*m;i++){
    			if(i%n==0&&i%m==0){
    				g=i;
    				break;
    			}
    		}
    		System.out.println (gcd+" "+g);
    	}	
    }
    
    • 1

    信息

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