更新时间2018-04-20 04:46:49
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a,b,c,d;
cin>>a>>b;
for(c=1;d==0;c++)
{
if(a*c==b*c)
{
int c=b*c,d=1;
break;
}
}
cout<<c;
}
C最初表示乘几,D控制循环 如果可以麻烦源代码整齐一点,谢谢!
首先,你程序一眼看上去就是错的
for(c=1;d==0;c++)
你的d没有初值,它是一个随机数,你设为它等于0循环,根本不会执行的
其次,你的我县一中又定义了局部变量
int c=b*c,d=1;
它与外面的c/d无关的啊
另外,你的算法效率太低了
以下是我常用的你参考下
int GetDivisor( int m, int n) //辗转相除法求m/n的公约数
{
int r;
while (n)
{
r=m % n;
m=n;
n=r;
}
return m;
}
int GetMultiple(int m,int n) //最小公倍数
{
return m*n/GetDivisor(m,n);
}