C语言辗转相除法

C语言辗转相除法,第1张

例如用辗转首搭相除法求a b 最大公约宽哗数(a b谁大谁小无所谓):

int GCD( int a , int b )

{

int n=a%b

whie(n != 0) //即: while(n)

{

a = b

b = n

n = a % b

}

return b //注意这里返回的是b 不慎芹行是n

}

工具/材料

电脑,VC6软件

明确具体逻辑关系,画出程序流程图(当然,若头脑中有此关系,也可不画)。

在vc6软件中新建工程,在工程下新建文件,不赘述。

接下来就可以编码喽!按照流程图一步一步来。当然,源代码不止一种,你喜欢就好。

#include<stdio.h>

main()

{

int m,n,a,b,t,temp,h

printf("输入m和nn")

scanf("%d%d",&m,&n)

a=m

b=n

if(a<b)

{

t=a

a=b

b=t

}

while(b!=0) //求最大公约数

{

temp=a%b

a=b

b=temp

}

h=m*n/a//求最小公培慧手倍数

printf("碧神%d和%d的最大公约数是:%dn",m,n,a)

printf("%d和%d的最小公倍数是:%dn",m,n,h)

}

输入两个正整数配嫌,就可以得到它们的最小公倍数和最大公约数啦!

这是求最大公约数的,没有问题啊,是不是你拍乱输入出错了,示例运行结果如下:

12,8

gcd=4

16,36

gcd=4

中间的逗号不能少的哦,否则就会出错了,因为scanf("%d,%d",&a,&b)的%d,%d中间是有都配贺运逗号的呀。培梁


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12569466.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存