当前位置: > 以下函数fun用于求两个整数a和b的最大公约数.填空...
题目
以下函数fun用于求两个整数a和b的最大公约数.填空
以下函数fun用于求两个整数a和b的最大公约数.
fun(a,b)
int a,b;
{int i,j,m,n;
if(a>b)
{m=a;a=b;_____;}
i=a;j=b;
while((n=______)!=0)
{j=i;i=_____;}
return(i);
}
在线坐等回复

提问时间:2021-10-14

答案
这种方法是数学里面的辗转相除法.
具体思路为:
假设a=15,b=9 那么r=a%b 则r=15%9=6,由于余数不为0,
所有9不是最大公约数
现在令a=b,b=r,那么a=9,b=6,继续求r=a%b则r=9%6=3 由于余数不为0,
所以6不是最大公约数
现在令a=b,b=r,那么a=6,b=3,继续求r=a%b,则r=6%3=0.
余数为0,循环结束,b就是最大公约数,即15和9的最大公约数为3
所以第一个空是 b=m.if的功能是a>b的话,交换ab
第二个空是n=j%i实现求余数
第三个空是i=n,余数不为0的话所做循环操作.
举一反三
已知函数f(x)=x,g(x)=alnx,a∈R.若曲线y=f(x)与曲线y=g(x)相交,且在交点处有相同的切线,求a的值和该切线方程.
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
奥巴马演讲不用看稿子.为什么中国领导演讲要看?
想找英语初三上学期的首字母填空练习……
英语翻译
版权所有 CopyRight © 2012-2019 超级试练试题库 All Rights Reserved.