VB学习记录——函数过程

1.两个整数的最大公约数

说起来这个问题我就很心塞,感觉这是小学生都可以做出来并且理解的算法,大一学习C的时候就遇见了这个问题,奈何肯定当时没有理解透彻呀,导致现在学习VB重新遇到瓶颈。通过学习C语言,Python以及现在的VB发现,只要你掌握好了一门语言,尤其是常用的算法,那种思想一旦常驻在你的心间,那么一门新的语言的学习,基本就是语法格式的问题了,只要勤加练习,就能很快掌握基本内容,吐槽完毕,还是好好记载下来这个小知识点吧。

先说一下算法:任给两个整数 a,b 假设a>b 。  利用辗转相除 ,a÷b=q....r,如果r=0,则说明a,b的最大公因数就是b,如果余数r不为0,那么就让a=b,b=r,在重复上述步骤,直到余数为0。 这样可以比较容易的写出代码,但是  但是  但是  我真的很想弄明白这是什么意思。为什么要这样做!

现在假设a,b的最大公因数是x,那么a,b都可以被x整除,则a,b的线性组合ma+nb也可以被x整除。下面关键来了,假设a÷b=q.....r,那么a=bq+r   → 则有a-bq=r ,这时候不就是m=1  n=-b的情况呀 。所以r也可定能被最小公因数整除,这样一来,就变成了求取a,b中较小的一个和余数r的最小公因数的问题,这样一直不断的缩小范围就可以求出来了。

VB书写的代码 如下所示:

2. 函数过程的定义:

形式:Function 函数过程名字 (形参) As 类型                 '形参只能是变量或者数组名字  用来表示参数的个数和类型

            局部变量声明

                         语句块

                         函数名= 表达式   '这个意思是指这个函数过程必须有一个返回值

                        End   Function

   

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值