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",n);
     
     return 0;
     } 
    

    C++ :

    #include <iostream>
    #include <iomanip>
    
    using namespace std;
    
    int main(){
        int a,b,i;
        cin>>b>>a;
        for(i=a;i>=1;i--){
        	if(a%i==0&&b%i==0){
        		cout<<i<<endl;
        		break;
    		}
    	}
    }
    

    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(gys(a,b));
    end.
    

    Java :

    import java.util.Scanner;
    public class Main{
    	public static void main(String[] args) {
    		String str=new Scanner(System.in).nextLine();
    		String[] strArray=str.split(" ");
    		int M=Integer.valueOf(strArray[0]);
    		int N=Integer.valueOf(strArray[1]);
    		int a=0;
    		for(int i=1;i<=M&&i<=N;i++){
    			if(M%i==0&&N%i==0){
    				 a=i;
    			}
    		}
    		System.out.println(a);
    	}
    }
    
    

    Python :

    a, b = map(int, input().split())
    if a < b:
        a, b = b, a;
    x = a % b;
    while x != 0:
        a = b
        b = x
        x = a % b
        print(b)
        
    
    • 1

    信息

    ID
    86
    时间
    1000ms
    内存
    512MiB
    难度
    10
    标签
    递交数
    3
    已通过
    3
    上传者