用Do...Loop循环语句,求m和n的最大公约数,以下是程序代码,求大神逐步解释

[复制链接]
查看11 | 回复3 | 2013-3-16 19:10:09 | 显示全部楼层 |阅读模式
Private Sub Command1_Click()Dim m As Long, n As Long, t As Longm = Val(Text1.Text)n = Val(Text2.Text)'两个文本框中分别输入整数m和nIf m < n Then
'如果m<n,那么 t = m: m = n: n = t'将m和n的值交换(这样做,保证了n始终是较小的数)End IfDo r = m Mod n'用较大的数除以较小的数,余数用r表示 m = n
'然后将前面的较小数n作为被除数(式中m的位置); n = r
'以刚才所得的余数r作为除数(式中n的位置),继续相除,并一...
回复

使用道具 举报

千问 | 2013-3-16 19:10:09 | 显示全部楼层
Dim m As Long, n As Long, t As Long’定义变量m = Val(Text1.Text)‘转换文本框1的值为数字并赋值给mn = Val(Text2.Text))‘转换文本框2的值为数字并赋值给NIf m < n Then'如果m小于n t = m: m = n: n = t‘转换m和n的位置,让m大于n...
回复

使用道具 举报

千问 | 2013-3-16 19:10:09 | 显示全部楼层
前四行就是调用和定义,不来解释了。五六两行就是把大的数字的值赋给m,后面也差不多的啊,当r没等于0之前就一直用n对m取余,把值赋给r,再把n赋给m,然后又把r赋给n,判断r有没有等于0,这算是一个完整的循环吧。使r=0的那个n的值因为赋给m了,所以最后输出的m的值就是最大公约数。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行