编写一个函数,求两个整数的最大公约数,在主函数中输入两个整数,调用此函数进行计算并输出结果。
答案:3 悬赏:20
解决时间 2021-02-21 18:15
- 提问者网友:藍了天白赴美
- 2021-02-20 21:09
编写一个函数,求两个整数的最大公约数,在主函数中输入两个整数,调用此函数进行计算并输出结果。
最佳答案
- 二级知识专家网友:往事埋风中
- 2021-02-20 22:44
楼主你好,这是源程序,是用辗转相除法写的
#include
int max(int p_a,int p_b)
{
if(p_b==0)
return p_a;
else
return max(p_b,p_a%p_b);
}
void main()
{
int a,b;
printf("Input two numbers:\n");
scanf("%d %d",&a,&b);
if(bprintf("最大公约数为:%d\n",max(a,b));
else
printf("最大公约数为:%d\n",max(b,a));
}
已经调试过了,没有问题:
Input two numbers:
2 8
最大公约数为:2
Input two numbers:
3 9
最大公约数为:3
逝水无痕真诚为您解答!
#include
int max(int p_a,int p_b)
{
if(p_b==0)
return p_a;
else
return max(p_b,p_a%p_b);
}
void main()
{
int a,b;
printf("Input two numbers:\n");
scanf("%d %d",&a,&b);
if(bprintf("最大公约数为:%d\n",max(a,b));
else
printf("最大公约数为:%d\n",max(b,a));
}
已经调试过了,没有问题:
Input two numbers:
2 8
最大公约数为:2
Input two numbers:
3 9
最大公约数为:3
逝水无痕真诚为您解答!
全部回答
- 1楼网友:爱难随人意
- 2021-02-20 23:15
引用1逝水_无痕1的回答:
楼主你好,这是源程序,是用辗转相除法写的
#include <stdio.h>
int max(int p_a,int p_b)
{
if(p_b==0)
return p_a;
else
return max(p_b,p_a%p_b);
}
void main()
{
int a,b;
printf("Input two numbers:\n");
scanf("%d %d",&a,&b);
if(b<a)
printf("最大公约数为:%d\n",max(a,b));
else
printf("最大公约数为:%d\n",max(b,a));
}
已经调试过了,没有问题:
Input two numbers:
2 8
最大公约数为:2
Input two numbers:
3 9
最大公约数为:3
逝水无痕真诚为您解答!如果输入8和19呢?
楼主你好,这是源程序,是用辗转相除法写的
#include <stdio.h>
int max(int p_a,int p_b)
{
if(p_b==0)
return p_a;
else
return max(p_b,p_a%p_b);
}
void main()
{
int a,b;
printf("Input two numbers:\n");
scanf("%d %d",&a,&b);
if(b<a)
printf("最大公约数为:%d\n",max(a,b));
else
printf("最大公约数为:%d\n",max(b,a));
}
已经调试过了,没有问题:
Input two numbers:
2 8
最大公约数为:2
Input two numbers:
3 9
最大公约数为:3
逝水无痕真诚为您解答!如果输入8和19呢?
- 2楼网友:夜风逐马
- 2021-02-20 23:02
给个思路,设两数是a、b
max(a,b)/min(a,b)是整数,则最大公约数是min(a,b)
否则
i=√min(a,b) to 1
min(a,b)/√min(a,b)整数,max(a,b)/√min(a,b)整数,结束
i--
max(a,b)/min(a,b)是整数,则最大公约数是min(a,b)
否则
i=√min(a,b) to 1
min(a,b)/√min(a,b)整数,max(a,b)/√min(a,b)整数,结束
i--
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯