乘法口诀是中国古代筹算中进行乘法、除法、开方等运算的基本计算规则,沿用已有两千多年,九九表也是小学算术的基本功。
古时的乘法口诀,是自上而下,从“九九八十一”开始,至“一一如一”止,与使用的顺序相反,因此古人用乘法口诀开始的两个字“九九”作为此口诀的名称,又称九九表、九九歌、九因歌、九九乘法表。
口诀发展
《九九乘法歌诀》,又常称为“小一九九九”。学生学的“小九九九”口诀,是从“一一得一”开始,到“10000×10000”止,而在古代,却是倒过来,从“九九八十一”起,到“一一如一”止。因为口诀开头两个字是“九九”,所以,人们就把它简称为“九九”。大约到13、14世纪的时候才倒过来成为我们的九九口诀“一一得一……九九八十一”。
中国使用“九九口诀”的时间较早。在《荀子》、《管子》、《淮南子》、《战国策》等书中就能找到“三九二十七”、“六八四十八”、“四八三十二”、“六六三十六”等句子。由此可见,早在“春秋”、“战国”的时候,《九九乘法歌诀》就已经开始流行了。
九九表,又称九九歌、九因歌,是中国古代筹算中进行乘法、除法、开方等运算中的基本计算规则,已有两千多年。小学初年级学生、一些学龄儿童都会背诵。不过欧洲直到十三世纪初才知道这种简单的乘法表。
西方文明古国的希腊和巴比伦,也有发明的乘法表,不过比起九九表繁复些。巴比伦发明的希腊乘法表有一千七百多项,而且不够完全。由于在十三世纪之前他们计算乘法、除法十分辛苦,所以能够除一个大数的人,会被人视若数学专家。十三世纪之初,东方的计算方法,通过阿拉伯人传入欧洲,欧洲人发现了它的方便之处,所以学习这个新方法。当时,用新法乘两个数这类题目,是当时大学的教材。
2015年3月,九九乘法表传入英国后,因语言不同导致口诀变长,背诵较难,《一课一练》英国版中可能改为“12×12乘法表”。
古乘法表
古希腊、古埃及、古印度、古罗马没有进位制,原则上需要无限大的乘法表,因此不可能有九九表。例如希腊乘法表必须列出7×8,70×8,700×8,7000×8……。相形之下,由于九九表基于十进位制,7×8=56,70×8=560,700×8=5600,7000×8=56000,只需7×8=56一项代表。
古代中国
春秋战国时代不但发明了十进位制,还发明九九表。后来东传入高丽、日本,经过丝绸之路西传印度、波斯,继而流行全世界。十进位制和九九表是古代中国对世界文化的一项重要的贡献。世界各国较少使用希腊等国的乘法。
在中国,发现的最早的乘法口诀表实物是2002年在湘西里耶古城出土的3万多枚秦简中的一枚,上面详细记录了乘法口诀。与乘法口诀表不同的是秦简上的口诀表不是从“一一得一”开始的,而是从“九九八十一”开始,到“二半而一”结束。
古埃及
古埃及没有乘法表。考古家发现,古埃及人是通累次迭加法来计算乘积的。例如计算5×13,先将13+13得26,再迭加26+26=52,然后再加上13得65。
古巴比伦
古巴比伦算术有进位制,比希腊等几个国家有很大的进步。不过巴比伦算术采用60进位制,原则上一个“59×59”乘法表需要59*60/2=1770项;由于“59×59”乘法表太庞大,巴比伦人从来不用类似于九九表的“乘法表”。考古学家也从来没有发现类似于九九表的“59×59”乘法表。不过,考古学家发现巴比伦人用独特的1×1=1,2×2=4,3×3=9……7×7=49,……9×9=81……16×16=256……59×59=3481的“平方表”。要计算两个数a,b的乘积,巴比伦人则依靠他们最擅长的代数学,axb=((a+b)x(a+b)-axa-bxb)/2。例如7×9=((7+9)x(7+9)-7×7-9×9)/2=(256-49-81)/2=126/2=63.
古玛雅
古玛雅人用20进位制,跟现代世界通用的十进位制最接近。一个19×19乘法表有190项,比九九表的45项虽然大三倍多,但比巴比伦方法还是简便得多。可是考古学家还没有发现任何玛雅乘法表。
用乘法表进行乘法运算,并非进位制的必然结果。巴比伦有进位制,但它们并没有发明或使用九九表式的乘法表,而是发明用平方表法计算乘积。玛雅人的数学是西方古文明中最先进的,用20进位制,但也没有发明乘法表。可见从进位制到乘法表是一个不少的进步。
口诀特点
1、九九表一般只用一到九这9个数字。
2、九九表包含乘法的可交换性,因此只需要八九七十二,不需要“九八七十二”,9乘9有81组积,九九表只需要1+2+3+4+5+6+7+8+9=45项积。明代珠算也有采用81组积的九九表。45项的九九表称为小九九,81项的九九表称为大九九。
3、古代世界最短的乘法表。玛雅乘法表须190项,巴比伦乘法表须1770项,埃及、希腊、罗马、印度等国的乘法表须无穷多项;九九表只需45/81项。
4、朗读时有节奏,便于记忆全表。
5、九九表存在了至少三千多年。从春秋战国时代就用在筹算中运算,到明代则改良并用在算盘上。九九表也是小学算术的基本功。
6、另一个九:
9X9=81,8+1=9
9X8=72,7+2=9
9X7=63,6+3=9
9X2=18,1+8=9
9X1=9,0+9=9
历史考证
2010-12-06
日本“奈良文物研究所”12月3日宣布揭晓,在奈良市的平城宫遗址(约公元8世纪)初度出土了写有与古代中国教科布告实不异的九九乘法口诀的木简。
出土的木简长约16厘米,宽约1.5厘米,上面写着“二九十八、一九如九”。
“如”是古代中国九九乘法中谜底为个位数时使用的汉字。被以为成书于汉朝的算数书《孙子算经》也记实着“一九如九”。对日本古代的官员而言,必需把握读写手艺和九九乘法。该木简年夜概成为剖明奈良期间中国式教科书获得普及使用的史料。
口诀应用
用C语言实现九九乘法表
有了c语言,我们可以简单的打印出“九九乘法表”,具体代码如下,在Trubo2.0、3.0、VC6.0下正常。
1 2 3 4 5 6 7 8 9 10 11 | #include <stdio.h> int main(void) { int i,j; for (i=1;i<=9;i++) { for (j=1;j<=i;j++) printf("%d*%d=%d ",j,i,j*i); printf("//n"); } } |
一一得一
一二得二,二二得四
一三得三,二三得六,三三得九
一四得四,二四得八,三四十二,四四十六
一五得五,二五一十,三五十五,四五二十,五五二十五
一六得六,二六十二,三六十八,四六二十四,五六三十,六六三十六
一七得七,二七十四,三七二十一,四七二十八,五七三十五,六七四十二,七七四十九
一八得八,二八十六,三八二十四,四八三十二,五八四十,六八四十八,七八五十六,八八六十四
一九得九,二九十八,三九二十七,四九三十六,五九四十五,六九五十四,七九六十三,八九七十二,九九八十一
大九九;c++代码编写
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #include<iostream> using namespace std; void jisuan(int i,int j) { int a,b; for(a=i;a<=i+8;a++) {for(b=j;b<=a;b++) {cout<<b<<"*"<<a<<"="<<a*b<<"//t";} cout<<"//n";} } int main() { jisuan(11,11); jisuan(21,21); jisuan(31,31); jisuan(41,41); jisuan(51,51); jisuan(61,61); jisuan(71,71); jisuan(81,81); jisuan(91,91); } |
用javascript实现
1 2. 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 9 | <script> document.write("<table border=1>"); for (var row = 1; row <= 9; row++) { document.write("<tr>"); for (var col = 1; col <= row; col++) { document.write("<td>" + col + "*" + row + "=" + col*row + "</td>"); } document.write("</tr>");}document.write("</table>"); </script> ? C#实现斜三角的九九乘法表 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 九九乘法表 { class Program { static void Main(string[]args) { for (int i =1;i<10; i++)//控制行数由1至9的变化 { for (int j =1; j < i+1; j++)//控制列数(行数增加时列数也随着增加)形成9行9列的效果 { Console.Write("{0}*{1}={2}//t",j,i,i*j);//注意:占位符“{2}”与“//t”之间是有空格的,目的是保持距离。 } Console.WriteLine();//输出空白行 } Console.ReadKey();//等待用户按任意键结束控制台 } } } |
用Free Pascal实现九九乘法表
共有两个for循环结构,较为简单。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | var i,j,a:integer; begin for i:=1 to 9 do begin for j:=1 to i do begin write(j:2,'*'); a:=i*j; write(i,'=',a:2); end; writeln; end; end |
用PHP实现九九乘法表
1 2 3 4 5 6 7 8 9 10 | <?php for($i=1;$i<=9;$i++){ for($j=1;$j<=$i;$j++){ $k=$i*$j; echo "$j*$i=$k"; echo "|"; } echo "<br>"; } ?> |
用Python3实现九九乘法表
1 2 3 4 | for i in range(1,10):# i=1 i=2 for j in range(1,i+1):#(1,2) i1,2 print('%d x %d = %d//t'%(j,i,i*j),end='') print() |
《一课一练》英国版中可能改为“12×12”语言不同导致口诀变长,背诵较难。
该文章由作者:【执著】发布,本站仅提供存储、如有版权、错误、违法等相关信息请联系,本站会在1个工作日内进行整改,谢谢!