从整数1开始向上找,直至m和n中较小的数,每找到一个能同时被m和n整除的整数,将其存入一个变量中,当循环结束时,变量中存放的即为最大公约数。

从整数1开始向上找,直至m和n中较小的数,每找到一个能同时被m和n整除的整数,将其存入一个变量中,当循环结束时,变量中存放的即为最大公约数。
这个程序不会写 求各位帮忙

供参考:

#include <stdio.h>
int main()
{
    int m,n,i,k,a=1;
    scanf("%d%d",&m,&n);
    k = m > n ? n : m;
    for(i = 1;i <= k; i++){
        if (m%i==0 && n%i==0)
            a = i;
    }
    printf("%d",a);
    return 0;
}


package com.myjob.utils;

/**
 * @author Shuai
 * @date 2022/5/13 0013
 * apiNote
 */
public class CommonDivisor {

    /**
     * 从整数1开始向上找,直至m和n中较小的数,
     * 每找到一个能同时被m和n整除的整数,
     * 将其存入一个变量中,当循环结束时,变量中存放的即为最大公约数。
     * @param args
     */
    public static void main(String[] args) {
        int a=50,b=45,v_max=0;
        int mix  = a > b ? a : b;

         for (int i = 1; i < mix; i++) {
            if((a%i)==0&&(b%i)==0){
                v_max=i;
            }
         }
        System.out.println(v_max);
    }
}