C语言,C++ 自定义函数,求两个整数的最小公倍数

求大神,在线等,速度啊!

#include<stdio.h>
int gcd(int a,int b) //求最大公倍数
{
int m,n,r;
m=a>=b?a:b; //m保存较大数
n=a<b?a:b; //n保存较小数
r=m%n; //求余数
while(r!=0) //循环相除
{
m=n;
n=r;
r=m%n;
}
return n;
}
int lcm(int a,int b) //求最小公倍数
{
int t=gcd(a,b); //获取最大公约数
return (a*b)/t; //返回最小公约数
}
int main()
{
int a,b;
printf("输入两个整数:");
scanf("%d%d",&a,&b);
printf("最小公倍数:%d\n",lcm(a,b));
return 0;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-06-14
先求最大公约数,然后利用最大公约数求最小公倍数
求最小公倍数算法:
最小公倍数=两整数的乘积÷最大公约数
你看博文吧,讲的很清楚,利用了三种方法求最大公约数

http://blog.csdn.net/iwm_next/article/details/7450424
最小公倍数归根就是求最大公约数的
第2个回答  2013-06-14
==
#include<stdio.h>
int main()
{
int a, b, result;
printf("input two scores:");
scanf("%d%d", &a, &b);
result = a * b;
while (a != b)
{
if (a > b)
{
a = a - b;
}
else
{
b = b - a;
}
}
result = result / a;
printf("public score is %d",result);
}
祝你愉快!
第3个回答  2013-06-14
先求最大公约数,再两个相乘处于最小公倍数。
最大公约数就从n开始循环到0。。。
后面的你懂得追问

大神,我是直接不懂啊!求答案!

追答

前两个都是可以的,后面那个说的方法都是可行的,你选个他们的思考下吧~~~

C语言,C++ 自定义函数,求两个整数的最小公倍数
int a,b;printf("输入两个整数:");scanf("%d%d",&a,&b);printf("最小公倍数:%d\\n",lcm(a,b));return 0;}

c++编写一个求两个整数最大公约数和最小公倍数的函数
编写该程序的整体思路:分别定义最大公约数函数和最小公倍数函数,然后再main函数里面调用它。C语言实现代码如下:include<stdio.h> include<math.h> int fun_gy(int,int); \/\/声明最大公约数函数 int fun_gb(int,int); \/\/声明最小公倍数函数 main(){ int a,b,gy,gb;printf("输入两个...

用c++编程:求两个正整数的最大公约数和最小公倍数
c=m\/i*n;(m*n 中包含两个最大公约数,除以一个即可 )printf("the least common multiple is %d\\n",c);return 0;}

用C++编写函数,分别求两个整数的最大公约数和最小公倍数,并在main...
int);void f2(int ,int);int main(int argc, char* argv[]){int x,y;cout<<"请输入两个整数:";cin>>x>>y;f1(x,y);f2(x,y);return 0;}void f1(int x,int y){ int n=1;if(x<y){ for(int M=1;M

c++输入两个正整数求它们的最大公约数和最小公倍数。
include "iostream"using namespace std;int getMin(int m,int n)\/\/最小公倍数{ int i,j; i=m; if(n>i) i=n; for(j=i;;j++) { if(j%m==0 && j%n==0) break; } return j;}int getMax(int m,int n)\/\/最大公约数{ int i,j; i...

用C++编写函数求两个整数的最大公约数和最小公倍数
include<stdio.h>int max(int a,int b){ \/\/求最大公约数的函数 int i,k; for(i=1;i<=(a>b?b:a);i++) if(a%i==0&&b%i==0) k=i; return k;}int min(int a,int b){ \/\/求最小公倍数的函数 int c,d,i; c=a>b?b:a; \/\/大的 d=...

...程序定义两函数求两整数的最大公约数和最小公倍数
argc,char *argv[]){int x,y;cout << "Please enter x & y(int 0<x,y)...\\n";if(!(cin >> x >> y) || x<1 || y<1){cout << "Input error, exit...\\n";return 0;}cout << "The GCD is " << mygcd(x,y) << endl;cout << "The LCM is " << mylcm(...

C++求两个数最小公倍数,最好有解释函数意思
最小公倍数=两个数的乘积除以2个数的最大公约数 \/ 2个数的最小公倍数 \/ include <iostream> using namespace std;int gcd (int a,int b)\/\/求最大公约数 { if (!b) return a;\/\/如果b=0,返回a return gcd(b,a%b);} int main (){ int a, b, least;cout<<"输入整数a,b:"...

两个整数的最小公倍数与最大公因数(C++实现)
最小公倍数(lcm(m, n))可以通过将两个数相乘再除以最大公因数来计算,即lcm(m, n) = (m * n) \/ gcd(m, n)。在C++中,实现这个过程的代码如下:cpp int gcd(int m, int n) { if (n == 0) return m;return gcd(n, m % n);} int lcm(int m, int n) { int temp = ...

C++编程:求两正整数的最大公约数和最小公倍数,用一个函数求最大公约数...
printf("最大公约数为:%d\\n",b);printf("最小公倍数为:%d\\n",m*n\/b);} else { printf("你输入的数据不合法,退出请输入0,重新计算请输入1!");goto scan;} printf("退出请输入0,重新计算请输入1!");scan: scanf("%d",&judge);}while(judge!=0);system("pause");return 0;...

相似回答