问题 单项选择题

设有以下函数过程:
Function fun(a As Integer,b As Integer)
Dim c As Integer
If a<b Then
c=a:a=b:b=c
End If
c=0
Do
c=c+a
Loop Until c Mod b=0
fun=c
End Function
若调用函数fun时的实际参数都是自然数,则函数返回的是______。

A) a、b的最大公约数
B) a、b的最小公倍数
C) a除以b的余数
D) a除以b的商的整数部分

答案

参考答案:B

解析: 题中所述函数过程中,If语句用来保证数a大于数b,如果数a小于数h,则将两者的值交换。取模运算符Mod用来求余数,即结果是数c整除数b所得的余数。c等于a值的累加,其值在逐步增大,c当然能整除a;而循环结束的条件为c是否能整除b,当刚好整除时跳出循环体,所以c的值能整除a和b的最小值,因此Do Loop循环语句运行的结果为a和b的最小公倍数。

判断题
单项选择题