大家谁会用DEVC++做这道题目啊?
大家可要用递归啊~
给大家上题目
最小公倍数
题目描述
请写一个程序,输入是两个正整数,输出是他们的最小公倍数。
说明:最小公倍数英文叫做Least Common Multiple,简写LCM。
输入输出格式
输入格式
两个正整数,均不超过1000000000
输出格式
一个正整数
输入样例#1:
4 6
输出样例#1:
12
错误代码(容易TE Time Error 超时):
#include<bits/stdc++.h>
using namespace std;
int main(){
long long a,b;
cin>>a>>b;
for(unsigned long long i=1;;i++){
if(i%a==0&&i%b==0){
cout<<i;
return 0;
}
}
return 0;
}
#include<iostream>
using namespace std;
long long gcd(long long m,long long n)
{
if (m < n)
gcd(n, m);
if (m%n)
return gcd(n, m%n);
return n;
}
int main()
{
long long m, n;
cout << "输入m和n:" << endl;
cin >> m >> n;
cout << "最大公约数为:" << gcd(m,n) << endl;
cout << "最小公倍数为:" << m*n/gcd(m,n) << endl;
return 0;
}
#include<iostream>
using namespace std;
long long gbs(long long n,long long m)
{
if (m > n) gbs(m, n);
else
{
if (n%m == 0) return m;
else return gbs(m, n%m);
}
}
int main()
{
long long m, n, g, y;
cout<<"输入m和n ";
cin>>m>>n;
g = gbs(n, m); //g代表最大公约数
y = m * n / g; //y代表最小公倍数
cout<<y;
return 0;
}
#include<bits/stdc++.h>
using namespace std'
int gcd(int a,int b){
return a%b==0?b:gcd(b,a%b);
}
main(){
int a,b;
cin>>a>>b;
cout<<gcd(a,b)
}