- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PPT—VBA演算余数问题概要1
余数问题 ——said 前言 1、这里提供一些计算方法,程序的解法是自己编的程序,其他方法都是从网上找的。 2、网上找到的方法属于笔算方法。 3、程序的解法:由于本人不是计算机专业,懂得一些皮毛,而且该程序用的是PPT的VBA(宏编辑器的语言),所以这个程序还算是比较简单。虽然简单,但是计算这类余数问题绰绰有余。 4、输出的结果中带有“()”是为了弥补程序不足。 5、反复试算,发现不是所有余数问题都有整数解。 笔算方法 例一: 一箱鸡蛋, 3个3个数,剩1个, 5个5个数,剩1个。 问这箱鸡蛋原来至少有多少个? VBA的算法 让我们重新看回例一: 一箱鸡蛋, 3个3个数,剩1个, 5个5个数,剩1个。 问这箱鸡蛋原来至少有多少个? 最大公约数与最小公倍数 解法一:令Eggs=3i+1=5j+1 然后逐个试算 i=1 3i+1=4 不满足5j+1 i=2 3i+1=7 不满足5j+1 i=3 3i+1=10 不满足5j+1 。 。 。 。 i=5 3i+1=16 满足5j+1此时,j=3 所以Eggs最小值=16 解法二:3和5的最小公倍数是15, 所以15+1=16 刚好同时满足3i+1=5j+1=16,此时i=5,j=3。 例二: 一箱鸡蛋, 3个3个数,剩1个, 5个5个数,剩4个。 问这箱鸡蛋原来有多少个? 这道题不能直接用最小公倍数来解决了,但是可以通过解方程组来求得: 设鸡蛋数为A,则A=3X+1=5Y+4【这里的颜色是方便给一些学生看得清楚下面①~③式的组成】 令A=A1+A2-3*5*k(k是使得A取得最小正数的整数)…………………① A1=3n=5y+4(这里的小写y不等同上面的大写Y)……………………② A2=5m=3x+1(这里的小写x不等同上面的大写X)……………………③ 求n,m,A1,A2的最小整数值。 ②式的另一种写法是(3n)mod5=4 因为3mod5=3, 所以(3n)mod5=(3n)mod5=4 ,得n的最小值为3【注意式子3n是取”3mod5=3”中的绿色数字3】 所以A1的最小值为3*n=3*3=9 ③式的另一种写法是(5m)mod3=1 因为 5mod3=2, 所以(5m)mod3=(2m)mod3=1,得m的最小值为2【注意,同上】 所以A2的最小值为5m=5*2=10 所以①式,A=A1+A2=19-15k=4. 这里面的5mod3=2的意思是:5除以3,余数是2。Mod读模。 如果觉得上面的表达好抽象,可以看例3,例2例3方法是一样的 例三是直接摘抄网络的,不过它用文字表达,更加容易看得明白。 如果解不了这个方程组,说明原题是无整数解的。 例三: 有一个正数N,用2除余1,用5除余2,用7除余3,用9除余4,则N的最小值是多少? 解法是 2,5,7的最小公倍数为70,它除以9余7,那么9余4的数可为70*7=490(7*7=49除以9余4) 2,5,9的最小公倍数为90,它除以7余6,那么7余3的数可为90*4=360(6*4=24除以7余3) 2,7,9的最小公倍数为126,它除以5余1,那么5余2的数可为126*2=252(1*2=2除以5余2) 5,7,9的最小公倍数为315,它除以2余1 , 那么2余1的数即为315, 加起来等于1417。 2,5,7,9的最小公倍数为630 则要求的最小的数为1417-630*2=157 解法一:令Eggs=3i+1=5j+1 然后逐个试算 i=1 3i+1=4 不满足5j+1 i=2 3i+1=7 不满足5j+1 i=3 3i+1=10 不满足5j+1 。 。 。 。 i=5 3i+1=16 满足5j+1此时,j=3 所以Eggs最小值=16 这个解答过程如果交给计算机来演算就显得方便得多。而且编程过程也不算很复杂。 PPT最后两页是用宏来设计的幻灯片,按alt+f11可以看到我编写的程序,不是很复杂,但也有缺陷的。 a m b n 一箱鸡蛋, 3个3个数,剩1个, 5个5个数,剩1个。问这箱鸡蛋原来有多少个? 点这里出结果 在这里输入 程序使用方法: 0、放映当前幻灯片: 1、先在下面4个白色格子分别输入3,1,5,1 2、点击输出结果15n-(-1)即15n+1 n可以取1、2、3、4、5、6…… 3、当n=1时,15n+1为16,即这箱鸡蛋最少是16个. a m b n 一箱鸡蛋, 1个1个数,剩0个 2个2个数,剩1个, 5个5个数,剩1个, 6个6个数,剩3个, 问这箱鸡蛋原来有多少个? 点这里出结果 在这里输入 程序使用方法: 0、放映当前幻灯片: 1、先在下面4个白色格子分别输入2,1,5,1 2、点击输出结果20n-(-1)即20n+1 3、把
文档评论(0)