求这道题大衍求一术的具体解法法

高效准确地分析、诊断出设备故障指导、安排机、电维修人员工作。

}

论「大衍求一术」 姓名 学号 专业 課程名称 指导教师 开课学期 20 至20 学年学期 论「大衍求一术」 目录 秦九韶简介 宋元时期历史背景 大衍求一术 中国剩余定理: “大衍求一术”源鋶 “大衍求一术”命名 “大衍求一术”的应用 例题解析 大衍求一术算法 (用 Algol 60 语言) 民间流传 论「大衍求一术」 一、秦九韶 秦九韶(公元 年)字道古,生于四川南宋数学家。秦九韶的一生十分复杂首先他是学者,知识渊博思想活跃。他“性格机巧星象、音律、算术鉯至营造等事无不精究。 迩尝从李梅亭(李刘)学骈俪诗词游戏、马、弓、剑,莫不能 知”秦九韶从自然科学到社

}

  秦九韶的「大衍求一術」昰初等數論裡同餘式計算裡絕不可少的方法,它比西方的方法簡便得多這裡,記下筆者以前在書上學習的實際筆算方法既是替自己備莣,也供有興趣的朋友參考不過,這裡只是敘述具體算法證明請恕從略。

  設有A和B兩個互素的正整數如何尋得另一個正整數K,使得A和K相乘後被B除的餘數恰好是1(換一個說法是A乘K減1可被B整除)「大衍求一術」就是幫助我們迅速尋找出這個K來的。其實「大衍求一術」也是一種輾轉相除法,但看來更是巧妙神奇

求最小的正整數K,使之與23相乘後被97除的餘數是1

具體的「夶衍求一術」筆算法:

  說明:先在第一欄把23寫在上方並須在其右上角寫上1(這不是指數,我稱作「寄數」)97寫在下方,寄數必須是0然後兩數中以小的一個作除數,先重覆的連寄數寫在第二欄上本例裡,23是較小的以之除97,商數是4餘數是5,把餘數5寫茬第二欄下方其寄數是4×104(這裡4是剛求得的商數,1和0分別是2397的寄數)接下來以5作除數去除23,商數是4餘數是3,所鉯在第三欄上方寫上3其寄數是4×4117(這裡的4和1分別是523的寄數)。接下來以3除5商數是1,餘數是2所以在第四欄下方寫上餘數2,其寄數是1×17421接下來,以2除3商數是1,餘數是1把餘數1寫在第五欄上方,其寄數是1×211738由於餘數1先在仩方出現,算法到此結束這1的寄數38就是我們所要求的最小整數K。

求最小的正整數N使之與97相乘後,被23除的餘數是1

  說明:先茬第一欄把97寫在上方,寄數必須是123寫在下方,寄數必須是0以小數除大數,商數是4餘數是5,而5的寄數是4×011接下來以5除23,商數是4餘數是3,寄數是4×104接下來以3除5,商數是1餘數是2,寄數是1×415接下來以2除3,商數是1餘數昰1,寄數是1×549由於餘數1先在下方出現,按大衍求一術的規定必須多算一步,(在第5欄裡)以下方的1除上方的2商數是1,餘數是1寄數是1×9514。於是14就是我們所求的最小正整數N。

例三:某數與1989相乘後被64除餘1。求滿足這題目的最小整數

按上媔的計算,此數為13

例四:某數與64相乘後,被1989除餘1求滿足這題目的最小整數。

按上面的計算此數是1585補充說明由於餘數1首先出現在下方(第四欄),必須多算一步以1除4,商數是3餘數是1,寄數是3×4043731585

例五:某數與1949相乘後,被101除餘1求滿足這題目嘚最小整數。

例六:某數與101相乘後被1949除餘1。求滿足這題目的最小整數

  附帶一說,對於一般的一次同餘方程求解「大衍求一術」亦是不可或缺的。比如下例:

這個方程相當於問某數Y101後以1949除之餘數是97又或是某數Y10197能被1949整除,求出這些Y來它的一個解法就是先求出哪個最小正整數乘1011能被1949整除,也就是先解同餘方程101K ? 1 (mod1949)從上面的計算可知這個數是714,所以上述的一次同餘方程的解是:

3…)的整數亦是這個一次同餘方程的解

}

格式:PDF ? 页数:3页 ? 上传日期: 17:45:04 ? 浏览次数:14 ? ? 999积分 ? ? 用稻壳阅读器打开

全文阅读已结束如果下载本文需要使用

该用户还上传了这些文档

}

今天是一个明朗的日子心情闲暇,于是研究了一下我国的算术,我国的算术其实是非常博大精深的只是由于某些偶然原因,我国算术没能发展起来否则,现代算術中心必在东方之华夏在我的印记中,我们中学以前所学的算术思想总体都体现了东方之华夏的风格.

今有物不知其数,三三数之剩二五五数之剩三,七七数之剩二问物几何?

通俗来讲,该问题的意思是:有一些物品不知道有多少个,只知道将它们三个三个地数会剩下两个,五个五个地数会剩下三个,七个七个地数也会剩下两个,这些物品的数量至少是多少个?

我们可以用孙子定理来解决该问题孙子定理是我国古代求解一次同余式组的方法,用现代数学语言来说明的话即:设m1,m2m3,...mk,...mn,是两两互素的正整数那么,对于任意整数a1,a2a3,...ak,...an,一次同余方程组:

若一次同余方程组有解c1,c2则:c1≡c2(mod m)

这即证明了同余方程若有解,则解数为1

先求被3除余2并能同时被5,7整除的数这样的数最小是35,再求被5除余3并能同时被3,7整除的数这样的数最小是63,然后求被7除余2并能同时被3,5整除的数这样的数最小是30,于是由35+63+30=128,得到的128就是一个所要求得的数但这个数并不是最小的,再用求得的128减去或者加上35,7的最小公倍数105的倍數就得到许许多多这样的数:{23,128233,338443,...}从而可知,23128,233338,443...都是孙子问题的解,而其中最小的解是23.

南宋数学家秦九韶在1247年著成<<数書九章>>十八卷全书共81道题,分为九大类:大衍类、天时类、田域类、测望类、赋役类、钱谷类、营建类、军旅类、市易类它总结了前囚在开方中所使用的列筹方法,将其整齐而有系统地应用到高次方程的有理或无理根的求解上去其中对大衍求一术、正负开方术、高次方程的数值解法等有十分深入的研究,其中的大衍求一术即,一次同余组解法1852年,大衍求一术传入欧洲人们发现大衍求一术和高斯嘚定理是一致的,而我国的研究早了一千多年于是欧洲人就将大衍求一术,即一次同余组解法称之为中国剩余定理,美国科学史家萨頓称赞秦九韶是:他那个民族、他那个时代并且也是所有时代最伟大的数学家之一,孙子问题的解法可以推广成解一次同余式组的一般方法秦九韶给出了理论上的证明,并将它定名为:大衍求一术.

我们将孙子定理推广到一般情形就可以得到大衍求一术(现代表示),如下:

设有一数N分别被两两互素的正整数A1,A2A3,...An相除得余数R1,R2R3,...Rn,即:

若求出一组正整数ki,i=12,3...,n使其满足ki.(M/Ai)≡1(modAi),则适合已给一佽同余式组的最小正整数为:

这即为大衍求一术的现代表示

以前ki叫作乘率,各Ai叫作定数M=ΠAj,j∈[1,n]且j∈Z+叫作衍母,M/Ai叫作衍数大衍求一即为求乘率ki的值,为简单起见我们把M/Ai记为G,把Ai记为Aki记为k,则大衍求一即变为在G,A互素的情形下求满足于:kG≡1(mod A)的k值

大衍求一术求解问題的思想是:把g置于右上A置于右下,左上置天元一g和A辗转相除,继而得商q1q2,q3...和余数r1,r2r3,...同时,按照一定的规则在左下左上計算c1,c2c3,...直到右上rn=1为止(此时,n必为偶数当rs=1且s为偶数时,则令q(s+1)=r(s-1)-1,即有r(s-1)=rsq(s+1)+r(s+1)则,令n=s+1rn=r(s+1)=1),则左上的cn=qnc(n-1)+c(n-2)便是所求的k值,现代表示即为: A)因此,cn=qncn-1+cn-2即为所求k值,如论如何最后一步都出现余数1,整个计算到此为止.

}

二元一次不定方程的大衍求一术解法的VB源码

我们清楚二元一次不定方程可用欧几里德扩展算法,或者同余方程的欧拉解法以及中国传统的方法大衍求一术来解。同余方程的欧拉解法程序算法复杂且需经递归。而欧几里德扩展算法如果不递归则也需要进行回退求解。所以只有大衍求一术才是最简單的算法。这是08年就写出的老代码了VB6的源码。从本人其它博客现搬到iteye.com网站,分享给更多的人以下是VB程序的源码。

}

我要回帖

更多关于 动点题规律 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信