c语言求最小公倍数 20

DescriptionCalculatetheLowestCommonMultiple(LCM,最小公倍数)oftwointegers.InputTwointegersA... Description
Calculate the Lowest Common Multiple (LCM,最小公倍数)of two integers.

Input
Two integers A and B. 0<=A,B <=1000000000

Output
LCM of A and B. the result is no larger than 1000000000.

Sample Input
5 10

Sample Output
10
展开
 我来答
百度网友812d1ee
2013-01-15
知道答主
回答量:6
采纳率:0%
帮助的人:7861
展开全部
#include<stdio.h>
#include<stdlib.h>
main()
{
int t=1;
long long A,B,LCM,i=2;
printf("Please input two integers:");
scanf("%d %d",&A,&B);
while(i<=A&&i<=B)
{
while(A%i==0&&B%i==0&&A&&B)
{
A/=i;
B/=i;
t=0;
}
i++;
}
if(t==0)
{
i--;
LCM=i*A*B;
}
else
LCM=A*B;
printf("%d",LCM);
system("pause");
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2018-05-22 · TA获得超过25.9万个赞
知道小有建树答主
回答量:2206
采纳率:96%
帮助的人:80.1万
展开全部

【利用C语言求最小公倍数主要用到if whie循环】

例子如下:

直接编译,程序输出结果中任意输入两个数,如5和8,然后按回车,结果如下图所示:

两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zf930306
2012-03-22
知道答主
回答量:29
采纳率:0%
帮助的人:4.6万
展开全部
#include<stdio.h>
#include<math.h>
int main(void)
{
int a,b,c,d,x,y,repeat,ri,m,n;
printf("输入运算次数:\n");
scanf("%d",&repeat);
for(ri=1;ri<=repeat;ri++){
printf("输入两个不为0的数a和b:\n");
scanf("%d%d",&a,&b);
if(a==0||b==0)
printf("a或b为0,无法运算!\n");
else
{
if(a<b){
x=a;
a=b;
b=x;
}
m=a;
n=b;
y=a%b;
while(y!=0){
a=b;
b=y;
y=a%b;
}
c=b;
d=m*n/c;
printf("最大公约数是:%d\n最小公倍数是:%d\n",c,d);
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友c19c0d0
2011-12-26 · TA获得超过1537个赞
知道小有建树答主
回答量:464
采纳率:0%
帮助的人:449万
展开全部
方法1:最小公倍数=两个数相乘 / 最大公约数
最大公约数用辗转相除法
#include<stdio.h>
int gcd(int a,int b) //递归法求最大公约数~
{
if(b==0)
return a;
return gcd(b,a%b);
}
int main()
{
int a,b;
scanf("%d%d",&a,&b);
printf("%d\n",a*b/gcd(a,b));
}
方法2:直接遍历求得~
#include<stdio.h>
int main()
{
int a,b;
int i;
scanf("%d%d",&a,&b);
for(i=a;;i++)
if(i%a==0 && i%b==0)
break;
printf("%d\n",i);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ph12
2011-12-26 · TA获得超过1.2万个赞
知道大有可为答主
回答量:1364
采纳率:0%
帮助的人:1903万
展开全部
主要是辗转相除法。
方法一、不设函数
#include <stdio.h>
int main ()
{int p,r,n,m,temp;
printf("please enter two positive integer numbers n,m:");
scanf("%d %d",&n,&m);
if (n<m)
{temp=n;
n=m;
m=temp; //把大数放在n中, 小数放在m中
}
p=n*m; //先将n和m的乘积保存在p中, 以便求最小公倍数时用
while (m!=0) //求n和m的最大公约数
{r=n%m;
n=m;
m=r;
}
printf("HCF=%d\n",n);
printf("LCD=%d\n",p/n); // p是原来两个整数的乘积
return 0;
}

方法二、调用函数
#include <stdio.h>
int main ()
{int p,r,n,m,temp;
printf("please enter two positive integer numbers n,m:");
scanf("%d %d",&n,&m);
if (n<m)
{temp=n;
n=m;
m=temp; //把大数放在n中, 小数放在m中
}
p=n*m; //先将n和m的乘积保存在p中, 以便求最小公倍数时用
while (m!=0) //求n和m的最大公约数
{r=n%m;
n=m;
m=r;
}
printf("HCF=%d\n",n);
printf("LCD=%d\n",p/n); // p是原来两个整数的乘积
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式