1、新建一个C语言源程序,这里使用Visual C++6.0的软件:
2、从键盘中输入两个正整数a和b。取两个数a,b中的较小值存放到变量n中。从两个数a和b中的较小数开始逐个减小1,寻找能整除a和b的整数,第一个找到的整数即整数a和b的最大公约数,最后将找到的结果输出即可完成程序的编写:
3、对源程序编译运行,测试输入4、6,得到最大公约数2说明程序是正确的,以上就是用c语言求最大公约数的过程:
#include"stdio.h"
int
main()
{
int
d1,d2,r
printf("输入两个正整数:")
scanf("%d
%d",&d1,&d2)
do
{
r=d1%d2
d1=d2d2=r
}while(d2!=0)
printf("最大公约数是:%d",d1)
}
//递归法
#include
"stdio.h"
int
fun(int
d1,int
d2)
{
if(d2!=0)
return
fun(d2,d1%d2)
else
return
d1
}
int
main()
{
int
d1,d2
printf("输入两个正整数:")
scanf("%d
%d",&d1,&d2)
printf("最大公约数是:%d",fun(d1,d2))
}