打字猴:1.701004719e+09
1701004719 39=25+0×24+0×23+1×22+1×21+1
1701004720
1701004721 =100111(二进位数)
1701004722
1701004723 因此39的二进位表示法就是以相反的次序排列余数。
1701004724
1701004725 39×79=(25×79)+(22×79)+(2×79)+(1×79)
1701004726
1701004727 =2528+316+158+79=3081
1701004728
1701004729 俄罗斯乘法原理是不是很精妙,然而这样一种乘法原理,对于计数而言,显得较复杂。来看看中国古代怎么进行快速计算的——韩信点兵,俗称中国剩余定理。
1701004730
1701004731
1701004732
1701004733
1701004734 我和数学有约:趣味数学及算法解析 [:1701004171]
1701004735 我和数学有约:趣味数学及算法解析 1.8 韩信点兵
1701004736
1701004737 我国汉代有位大将,名叫韩信。
1701004738
1701004739 他每次集合部队,只要求部下先后按l~3、1~5、1~7报数,然后再报告一下各队每次报数的余数,他就知道到了多少人。
1701004740
1701004741 他的这种巧妙算法,人们称为鬼谷算,也叫隔墙算,或称为韩信点兵,外国人还称它为“中国剩余定理”。
1701004742
1701004743 【问题】中国剩余定理是如何计算的?
1701004744
1701004745 【分析】
1701004746
1701004747 到了明代,数学家程大位用诗歌概括了这一算法,他写道:“三人同行七十稀,五树梅花廿一枝,七子团圆月正半,除百零五便得知”。
1701004748
1701004749 这首诗的意思是:用3除所得的余数乘上70,加上用5除所得余数乘以21,再加上用7除所得的余数乘上15,结果大于105就减去105的倍数,这样就知道所求的数了。
1701004750
1701004751 比如,一篮鸡蛋,三个三个地数余1,五个五个地数余2,七个七个地数余3,篮子里有鸡蛋一定是52个。
1701004752
1701004753 具体的算式是:
1701004754
1701004755 1×70+2×21+3×15=157
1701004756
1701004757 157-105=52(个)
1701004758
1701004759 采用MATLAB进行剩余定理求解,编程如下:
1701004760
1701004761     clc,clear,close all    %清屏和清除工作区变量    warning off            %消除警告    %剩余定理    a = 1;                 %被3除的余数    b = 2;                 %被5除的余数    c = 3;                 %被7除的余数    d = a * 70 + b*21+3*15;    while d>105       %d大于105则执行该循环        d = d-105;    end    disp([‘所求的数为:   ‘,num2str(d)])   %输出显示
1701004762
1701004763 运行程序输出结果如下:
1701004764
1701004765     所求的数为:   52
1701004766
1701004767 相比于俄罗斯乘法原理,中国剩余定理更加巧妙。生活的难题常有,生活的经验足够重要,迎难而上,将带给自己事半功倍的效率。
1701004768
[ 上一页 ]  [ :1.701004719e+09 ]  [ 下一页 ]