打字猴:1.70041476e+09
1700414760
1700414761
1700414762 用两个数中较大的数减去较小的数(步骤),反复进行上述步骤,直到两个数的值相等(步骤的终止)。如果最终这两个数相同,那么这个数就是最大公约数。请注意以下三点:(1)步骤是明确的、完全不依赖直觉的;(2)步骤是机械的、不需要动脑筋就能完成的;(3)使步骤终止的原因是明确的
1700414763
1700414764 使用辗转相除法求解12和42的最大公约数的程序代码如代码清单5.1所示。本章展示的程序都是用VBScript编写的。只要把代码清单5.1中的内容输入文本编辑器,保存成扩展名为.vbs的文件,双击这个文件,程序就可以运行了(如图5.3所示)。即使读不懂这段程序代码的内容也没有关系。这里需要注意的是该算法和所描述的步骤是可以直接转换成程序的。
1700414765
1700414766 代码清单5.1 求解12和42最大公约数的程序
1700414767
1700414768 a=12
1700414769
1700414770 b=42
1700414771
1700414772 while a<>b
1700414773
1700414774   If a>b Then
1700414775
1700414776 a=a-b
1700414777
1700414778   Else
1700414779
1700414780 b=b-a
1700414781
1700414782   End If
1700414783
1700414784 Wend
1700414785
1700414786 MsgBox “最大公约数为”&CStr(b)&“。”
1700414787
1700414788 图5.3 代码清单5.1的运行结果
1700414789
1700414790
1700414791
1700414792
1700414793
1700414794
1700414795
1700414796 计算机是怎样跑起来的 [:1700412661]
1700414797 计算机是怎样跑起来的 5.4 要点3:了解并应用典型算法
1700414798
1700414799 建议从事编程工作的人手中要有一本能作为算法辞典的书(可以作为算法辞典使用的书有《算法技术手册》(George T. Heineman、Gary Pollice、Stanley Sellkow)、《算法精解:C语言描述》(Kyle Loudon)等)。虽然算法应该由自己思考,但如果遇到了不知道从哪里下手才好的问题,也可以利用这类辞典查查已经发明发来的算法
1700414800
1700414801 作为程序员的修养,表5.1列出了笔者认为最低限度应该了解的典型算法。这些算法包括刚刚介绍过的求解最大公约数的“辗转相除法”,判定素数的“埃拉托斯尼筛选法”(将在后面介绍),检索数据的三种算法以及排列数据的两种算法。记住了这些典型算法固然好,但请注意绝不要丢掉自己思考算法的习惯。
1700414802
1700414803 表5.1 主要的典型算法
1700414804
1700414805 名称                用途
1700414806
1700414807 辗转相除法            求解最大公约数
1700414808
1700414809 埃拉托斯特尼筛选法    判定素数
[ 上一页 ]  [ :1.70041476e+09 ]  [ 下一页 ]