1 条题解

  • 0
    @ 2025-10-10 15:45:26

    C :

    #include <stdio.h>
    int main ()
    {int p,r,n,m,temp;
    
     scanf("%d %d",&n,&m);
     if (n<m)              
         {temp=n;
          n=m;
          m=temp;                //把大数放在n中, 小数放在m中
         }
     p=n*m;                     //先将n和m的乘积保存在p中, 以便求最小公倍数时用
     while (m!=0)               //求n和m的最大公约数
        {r=n%m;
         n=m;
         m=r;
     }
    
     printf("%d",p/n);        // p是原来两个整数的乘积
     return 0;
     } 
    

    C++ :

    #include<iostream>
    using namespace std;
    int main(){
    	int M,N;
    	cin>>M>>N;
    	int x=0;
    	for(int i=1;i<=9999;i++){
    		int m=M*i;
    			if(m%N==0){
    				x=m;
    				break;
    			}
    	}
    	cout<<x<<endl;
    } 
    

    Pascal :

    var a,b:longint;
    function gys(x,y:longint):longint;
    var k:longint;
    begin
      k:=0;
      k:=x mod y;
      while k<>0 do
       begin
        x:=y;
        y:=k;
        k:=x mod y;
       end;
      gys:=y;
    end;
    begin
      read(a,b);
      writeln(a*b div gys(a,b));
    end.
    

    Java :

    import java.util.Scanner;
    public class Main {
    	public static void main(String[] args){
    		Scanner sc = new Scanner(System.in);
    		int a=sc.nextInt();
    		int b=sc.nextInt();
    		if(b>a){
    			int t=a;
    			a=b;
    			b=t;
    		}
    		int c=a;
    		while(c<=a*b){
    			if(c%a==0&&c%b==0){
    				System.out.println(c);
    				break;
    			}
    			c++;
    		}
    		
    	}
    }
    
    
    

    Python :

    a, b = map(int, input().split())
    for i in range(1,(a * b)+1):
            if i % a == 0 and i % b == 0:
                print(i)
                break;
    
    
    • 1

    【入门】两个自然数M和N的最小公倍数。

    信息

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