当前位置:首页>开发>正文

C语言中如何调用函数求最大公约数和最小公倍数 用c语言写出一个求两个正整数的最大公约数的函数

2023-05-28 13:10:34 互联网 未知 开发

 C语言中如何调用函数求最大公约数和最小公倍数 用c语言写出一个求两个正整数的最大公约数的函数

C语言中如何调用函数求最大公约数和最小公倍数

#include
int a
int _Y(int x,int y)
int main()
{
int a,b,c,d
printf(“请输入数字:”)
scanf("%d,%d",&c,&d)//此处注意在输出的时候数字之间要打都好,不然输出结果错误
b=_Y(c,d)
a=c*d/b
printf(“最大公约数为:%d ”,b)
printf(“最小公倍数为:%d ”,a)
return 0
}
int _Y(int x,int y)
{
int e
if(x<y)
{
e=x
x=y
y=e
}
while((e=x%y)!=0)
{
x=y
y=e
}
return(y)
}

扩展资料:

while循环开始后,先判断条件是否满足,如果满足就执行循环体内的语句,执行完毕后再回来判断条件是否满足,如此无限重复;直到条件不满足时,执行while循环后边的语句。简单来讲就是说while循环是先判断后循环, 判断如果满足条件进入循环 本次循环后再次判断 。
举个例子:

do-while循环与while循环的不同在于:它先执行循环中的语句,然后再判断表达式是否为真, 如果为真则继续循环;如果为假, 则终止循环。因此, do-while循环至少要执行一次循环语句。 简单来讲就是说while循环是先循环后判断 。
举个例子:

总结:while循环是先判断后循环 ,而do–while循环是先循环后判断。
参考资料:
百度百科——while(循环语句及英文单词)

用c语言写出一个求两个正整数的最大公约数的函数

int GC(int a,int b)
{
int r
if(ar=a
a=b
b=r
}
r=a%b
while(r)
{a=bb=rr=a%b}//辗转相除
return b//返回b,即为两者最大公约数
}

如何用C语言来编写:求最大公约数和最小公倍数程序

#include void main() { int i,j,m,n,t printf("请输入两个正整数: ") scanf("%d,%d",&m,&n) if(m for(i=ni>=1i--) if(m%i==0&&n%i==0) {j=m*n/ibreak} printf("%d和%d的最大公约数是%d,%d和%d的最小公倍数是%d。",m,n,i,m,n,j) }

用C语言写出 输入两个正整数a和b,求其最大公约数

最小公倍数就是既可被m整除也可被n整除的数。 if (m>=n ) j=m else j=n从m和n中较大的那个数开始找起,比它小的数当然不用考虑了。当然,其实你从j=1开始找起也没问题。 for ( !(j%m==0&&j%n==0) j ) 如果j整除m为0,而且整除n也为0,那么答案找到了,循环停止。否则j取下一个数继续分析。 printf这句不用分析了吧。。

最新文章

随便看看