选择题
有以下程序:
#include <stdio.h>
main()
{ int m,n;
scanf('%d%d',&m,&n);
while(m!=n)
{ while(m>n) { m=m-n;}
while(n>m) { n=n-m;}
}
printf('%d\n',m);
}
该程序的功能是
A、
计算m和n的最小公倍数
B、
计算m和n的最大公约数
C、
计算m和n的差值
D、
找出m和n中的较大值
【正确答案】
B
【答案解析】
题目使用更相减损术求最大公约数,其思想是:(1)任意给定两个正整数,判断它们是否都是偶数。若是,则用2约简,若不是则执行第二步。(2)以较大的数减较小的数,接着把所得的差与较小的数比较,并以大数减小数。继续这个操作,直到所得的减数和差相等为止。则第一步中约掉的若干个2与第二步中等数的乘积就是所求的最大公约数。答案为选项B。
提交答案
关闭