c语言求公倍数找错误

问题遇到的现象和发生背景
用代码块功能插入代码,请勿粘贴截图
我想要达到的结果
  • img


    这个结果result 总是等于m,n两者中较大的一个,没有达到求公倍数的的目的,求修改

#include<stdio.h>
int f(int n,int m)
{
int a=n>m?n:m;
for(a=a;a%n!=0||a%m!=0;a++);
return a;
}
int main()
{

   int n,m;
scanf("%d%d",&n,&m);
int i=f(n,m);
printf("%d",i);
    return 0;
}

因为Fact函数里面,17行那里a就是m和n中的较大者,而且这里求的不是公倍数,是公约数吧


long Fact(int m, int n)
{
    int r;
    while(r = m % n)
    {
        m = n;
        n = r;
    }
    return n;
}

a++改为a--

那句注释应该删掉