
人教版高中数学(必修3)1.3《算法案例》.ppt
10页1.3 算 法 案 例,第 一 章 算 法 初 步,人 教 A 版 数 学 必 修 3,普通高中课程标准试验教科书,算法案例,数学组,韩信是秦末汉初的著名军事家据说有一次汉高祖刘邦在卫士的簇拥下来到练兵场,刘邦问韩信有什么办法,不要逐个报数,说能知道场上士兵的人数韩信先令士兵排成三列纵队进行操练,结果有2人多余;接着他下令将队形改为5列纵队,这一改,又多出3人;随后他又下令改为7列纵队,这一次又剩下2人无法成整列在场的人都哈哈大笑,以为韩信用无法清点出准确的人数,不料笑声刚落,韩信便高声报告共有士兵2333人众人听了一愣,不知韩信用什么办法 这么快就能得出正确结果你想知道吗?,韩信点兵,孙子问题,,,,,,,,,,,,,,,,士兵排成3列纵队进行操练,结果有2人多余; 若排成5列纵队进行操练,结果有3人多余; 若排成7列纵队进行操练,结果有2人多余.,韩信点兵,,2333,今有物不知数,三三数之剩二, 五五数之剩三,七七数之剩二, 问物几何?,——《孙子算经》,孙子问题,(“物不知数”),答曰:二十三.,韩信点兵、孙子问题相当于,的正整数解.,求关于x,y,z的不定方程组:,中国剩余定理,“鬼谷算”、“隔墙算”、“剪管术”、“秦王暗点兵”等等,首先,让m=2开始检验条件, 若三个条件中有一个不满足,,如m=8,被3除余2,5除余3,7除余1,不符; 如m=9,被3除余0,不符; 如m=10,被3除余1,不符; 可验证得:m=23,算法设计思想:,满足条件的m还有其它的解吗?,23+105 23+2×105 23+3×105…都是本问题的解.,韩信何以很快知道队伍的人数?,2333=23+22×105,则m递增1,一直到同时满足三个条件为止.,何种结构能依次检索正整数?,循环结构何时结束?,〖研探新知〗,1.辗转相除法:,例1 求两个正数8251和6105的最大公约数。
解:8251=6105×1+2146;,6105=2146×2+1813; 2146=1813×1+333; 1813=333×5+148; 333=148×2+37; 148=37×4+0.,则37为8251与6105的最大公约数以上我们求最大公约数的方法就是辗转相除法也叫欧几里德算法,它是由欧几里德在公元前300年左右首先提出的练习:利用辗转相除法求下列两数的最大公约数.,,(2)20723=4081×5+318; 4081=318×12+265; 318=265×1+53; 265=53×5+0.,(2)4081与20723,(1)225与135,解:(1)225=135×1+90,135=90×1+45,90=45×2,显然45是90和45的最大公约数,也就是225和135的最大公约数,显然53是90和45的最大公约数,也就是225和135的最大公约数,程序: INPUT “m,n=”;m,n DOr=m MOD n m=n n=r LOOP UNTIL r=0 PRINT m END,你能用当型循环结构来设计算法吗?,INPUT m,n r=1 WHILE r0r=m MOD nm=nn=r WEND PRINT m END,你能根据辗转相除法的算法步骤画出它的程序框图以及相应的程序语句吗?,辗转相除法求两个数的最大公约数, 其算法可以描述如下:,。












