最小公倍数C++
下面提供三种算法:首先,是暴力代码如下:#include <iostream>using namespace std;int main(){int n,m,i;cin>>n>>m;i=max(n,m);while(1){if(i%n==0&&i%m==0)break...
·
下面提供三种算法:
首先,是暴力
代码如下:
#include <iostream>
using namespace std;
int main()
{
int n,m,i;
cin>>n>>m;
i=max(n,m);
while(1)
{
if(i%n==0&&i%m==0)break;
i++; //硬核自加
}
cout<<i<<endl;
}
其次是 n的x倍 (自己命名的啊哈哈)
代码如下:
#include <iostream>
using namespace std;
int main()
{
int n,m,i;
cin>>n>>m;
if(n<m)
{
int temp=n;
n=m;
m=temp;
}
for(i=1;i<=m;i++) //从1到m倍尝试
{
if((n*i)%m==0)break;
}
cout<<n*i<<endl;
}
最后是利用最大公约数
代码如下:
#include <iostream>
using namespace std;
int gcd(int x,int y) //求最大公约数
{
if(x==y)return x;
return gcd(y,x-y);
}
int main()
{
int n,m;
int y;
cin>>n>>m;
y=gcd(max(n,m),min(n,m));
cout<<n*m/y<<endl; //n和m的乘积除以最大公约数=最小公倍数
return 0;
}
更多推荐
已为社区贡献7条内容
所有评论(0)