求解答,求两个数的最大公约数,并且要求使用for循环

求解答,使用visual basic,求两个数的最大公约数,并且要求使用for循环




m = InputBox("输入第一个自然数")
n = InputBox("输入第二个自然数")
If m > n Then t = m: m = n: n = t
Dim i As Integer, x As Integer
For i = 1 To m
If n Mod i = 0 And m Mod i = 0 Then
x = i
End If
Next
MsgBox ("最大公约数为" & x)

```

那就穷举法

#include <stdio.h>
int divi(int x, int y)
{
    if (x < y)
    {
        int tmp = y;
        y = x;
        x = tmp;
    }
    for (int i = y; i >= 1; i-- )
    {
        if (x%i == 0 && y%i == 0)
        {
            return i;
        }
    }

int main()
{
    int x,y;
    scanf("%d%d",&x,&y);
    printf("%d",divi(x,y));
}