最大公约最小公倍数c语言
『壹』 c语言,求最小公倍数和最大公约数
震惊,您的来gcd返回值为0!
return才会自返回值啊,printf是不会返回值的。这样的话d就赋值为0,然后/0就崩了。
你可以试试这个:
#include<stdio.h>
int gcd(int a,int b)
{
if(a==0)return b;
return gcd(b%a,a);
}
int a,b;
int main()
{
scanf("%d%d",&a,&b);
printf("%d\n%d",gcd(a,b),a*b/gcd(a,b));
return 0;
}
『贰』 c语言输入两个整数求最大公约数和最小公倍数
#include <stdio.h>
void main()
{
int m,n,k=0,t,a,b;//k要初始化一下
printf("请输入两个正整数:");
scanf("%d%d",&m,&n);
a=m;
b=n;//用a和b保存输入的两个数,因为后面还要用到
if(m<n)
{
t=m;
m=n;
n=t;
}//这里应该是如果m<n就把m和n交换,不是你那么写的
while(k!=0)
{
k=m%n;
m=n;
n=k;
}
printf("最大公约数:%d ",m);
printf("最小公倍数:%d ",a*b/m);//你m和n值已经变了,所以要用ab
}
『叁』 c语言最大公约数和最小公倍数怎么表示
最大公约数和求最小公倍数
1、对两个正整数a,b如果能在区间[a,0]或[b,0]内能找到一个整数temp能同时被a和b所整除,则temp即为最大公约数。
2、对两个正整数a,b,如果若干个a之和或b之和能被b所整除或能被a所整除,则该和数即为所求的最小公倍数。
穷举法求两数的最大公约数
int divisor(int a,int b)
{
int temp;//定义义整型变量
temp=(a>b)?b:a;//采种条件运算表达式求出两个数中的最小值
while(temp>0){
if(a%temp==0&&b%temp==0)//只要找到一个数能同时被a,b所整除,则中止循环
break;
temp--;//如不满足if条件则变量自减,直到能被a,b所整除
}
return temp;//返回满足条件的数到主调函数处
}
//穷举法求两数的最小公倍数
int multiple(int a,int b)
{
int p,q,temp;
p=(a>b)?a:b;//求两个数中的最大值
q=(a>b)?b:a;//求两个数中的最小值
temp=p;//最大值赋给p为变量自增作准备
while(1){//利用循环语句来求满足条件的数值
if(p%q==0)
break;//只要找到变量的和数能被a或b所整除,则中止循环
p+=temp;//如果条件不满足则变量自身相加
}
return p;
}
(3)最大公约最小公倍数c语言扩展阅读:
while使用示例
C++
int a=NULL;
while(a<10)
{
a++;//自加
if(a>5)//不等while退出循环,直接判断循环
{
break;//跳出循环
}
}
结果:结束后a的值为6。
javascript
下面的例子定义了一个循环程序,这个循环程序的参数i的起始值为0。该程序会反复运行,直到i大于10为止。i的步进值为1。
<html>
<body>
<script type="text/javascript">
var i=0
while(i<=10)
{document.write("The number is"+i);
document.write("<br/>");
i=i+1;}
</script>
</body>
</html>
结果
The number is0
The number is1
The number is2
The number is3
The number is4
The number is5
The number is6
The number is7
The number is8
The number is9
The number is10
网络——while
『肆』 求最大公约数和最小公倍数的方法c语言
求最大公约数和最小公倍数的方法有很多种。最朴素的是用穷举法。从小到大穷举来找最小公倍数。从两个数当中的较小的一个数,开始从大到小穷举来找最大公约数。效率比较高一点的是采用辗转相除,法求最大公约数。得到最大公约数以后,再用两数的乘积除以最大公约数,就得到了最小公倍数。
『伍』 在c语言中如何求最大公约数和最小公倍数
输入的时候要输入10,5
要中间有一个逗号,而不是空格。
你的scanf中两个%d之间有一个逗号
『陆』 c语言最小公倍数和最大公约数
简单的循环,a为大数,b为小数,一个递增一个递减,直至找到最大和最小。
『柒』 c语言编程求最大公约数和最小公倍数
#include<stdio.h>
int
main()
{
int
m,n;
int
divisor,dividend,res;/*除数
被除数
余数*/
scanf("%d%d",&m,&n);
if(m>0&&n>0)
{
if(m>=n)
{
divisor=n;
dividend=m;
}
else
{
divisor=m;
dividend=n;
}
res=dividend%divisor;
while(res!=0)//循环体是三条语句,不加大括号循环只执行一条语句
{
dividend=divisor;
divisor=res;
res=dividend%divisor;
}
printf("%d",divisor);
}
else
printf("error!\n");
return
0;
}
两数相乘除以最大公约数就是最小公倍数
『捌』 最大公约数最小公倍数c语言
最大公约数最小公倍数c语言:
int gcd(int a,int b)
{return b?gcd(b,a%b):a;
}
int lcm=a*b/gcd(a,b);
『玖』 c语言求最大公因数和最小公倍数的方法
基本的办法还是辗转相除法,做到最后余数为0,用%运算,模即是最大公约数,最小公倍数等于两个数的积除以最大公约数。