乘法口訣

乘法口訣

乘法口訣是中國古代籌算中進行乘法除法開方等運算的基本計算規則,沿用至今已有兩千多年,九九表也是國小算術的基本功。

古時的乘法口訣,是自上而下,從“九九八十一”開始,至“一一如一”止,與現在使用的順序相反,因此古人用乘法口訣開始的兩個字“九九”作為此口訣的名稱,又稱九九表、九九歌、九因歌、九九乘法表。

基本介紹

口訣發展,古乘法表,古代中國,古埃及,古巴比倫,古瑪雅,口訣特點,歷史考證,口訣套用,

口訣發展

九九乘法歌訣》,又常稱為“小九九”。學生學的“小九九”口訣,是
從“一一得一”開始,到“九九八十一”止,而在古代,卻是倒過來,從“九九八十一”起,到“一一如一”止。因為口訣開頭兩個字是“九九”,所以,人們就把它簡稱為“九九”。大約到13、14世紀的時候才倒過來成為我們的九九口訣“一一得一……九九八十一”。
乘法口訣
中國使用“九九口訣”的時間較早。在《荀子》、《管子》、《淮南子》、《戰國策》等書中就能找到“三九二十七”、“六八四十八”、“四八三十二”、“六六三十六”等句子。由此可見,早在“春秋”、“戰國”的時候,《九九乘法歌訣》就已經開始流行了。
九九表,又稱九九歌、九因歌,是中國古代籌算中進行乘法除法開方等運算中的基本計算規則,沿用到今日,已有兩千多年。國小初年級學生、一些學齡兒童都會背誦。不過歐洲直到十三世紀初才知道這種簡單的乘法表。
西方文明古國的希臘和巴比倫,也有發明的乘法表,不過比起九九表繁複些。巴比倫發明的希臘乘法表有一千七百多項,而且不夠完全。由於在十三世紀之前他們計算乘法、除法十分辛苦,所以能夠除一個大數的人,會被人視若數學專家。十三世紀之初,東方的計算方法,通過阿拉伯人傳入歐洲,歐洲人發現了它的方便之處,所以學習這個新方法。當時,用新法乘兩個數這類題目,是當時大學的教材。
2015年3月,九九乘法表傳入英國後,因語言不同導致口訣變長,背誦較難,《一課一練》英國版中可能改為“12×12乘法表”。

古乘法表

古希臘古埃及古印度、古羅馬沒有進位制,原則上需要無限大的乘法表,因此不可能有九九表。例如希臘乘法表必須列出7x8,70x8,700x8,7000x8……。相形之下,由於九九表基於十進位制,7x8=56,70x8=560,700x8=5600,7000x8=56000,只需7x8=56一項代表。

古代中國

春秋戰國時代不但發明了十進位制,還發明九九表。後來東傳入高麗、日本,經過絲綢之路西傳印度、波斯,繼而流行全世界。十進位制和九九表是古代中國對世界文化的一項重要的貢獻。今日世界各國較少使用希臘等國的乘法。
在中國,目前發現的最早的乘法口訣表實物是2002年在湘西里耶古城出土的3萬多枚秦簡中的一枚,上面詳細記錄了乘法口訣。與今天乘法口訣表不同的是秦簡上的口訣表不是從“一一得一”開始的,而是從“九九八十一”開始,到“二半而一”結束。

古埃及

古埃及沒有乘法表。考古家發現,古埃及人是通累次迭加法來計算乘積的。例如計算 5x13,先將13+13得26,再迭加26+26=52,然後再加上13得65。

古巴比倫

古巴比倫算術有進位制,比希臘等幾個國家有很大的進步。不過巴比倫算術採用60進位制,原則上一個“59x59”乘法表需要59*60/2=1770項;由於“59x59”乘法表太龐大,巴比倫人從來不用類似於九九表的“乘法表”。考古學家也從來沒有發現類似於九九表的“59x59”乘法表。不過,考古學家發現巴比倫人用獨特的1x1=1,2x2=4,3x3=9……7x7=49,……9x9=81 ……16x16=256 …… 59x59=3481 的“平方表”。要計算兩個數a,b的乘積,巴比倫人則依靠他們最擅長的代數學, axb=((a+b)x(a+b)-axa-bxb)/2。例如 7x9=((7+9)x(7+9)-7x7-9x9)/2=(256-49-81)/2=126/2=63.

古瑪雅

瑪雅人用20進位制,跟現代世界通用的十進位制最接近。一個19x19乘法表有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月3日日本“奈良文物研究所”宣布揭曉,在奈良市的平城宮遺址(約公元8世紀)初度出土了寫有與古代中國教科布告實不異的九九乘法口訣的木簡。
出土的木簡長約16厘米,寬約1.5厘米,上面寫著“二九十八、一九如九”。
“如”是古代中國九九乘法中謎底為個位數時使用的漢字。被以為成書於漢朝的算數書《孫子算經》也記實著“一九如九”。對日本古代的官員而言,必需把握讀寫手藝和九九乘法。該木簡年夜概成為剖明奈良期間中國式教科書獲得普及使用的史料。

口訣套用

C語言實現九九乘法表
有了c語言,我們可以簡單的列印出“九九乘法表”,具體代碼如下,在Trubo2.0、3.0、VC6.0下正常。
#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++代碼編寫
#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實現
<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>");
?
Javascript網頁腳本實現九九乘法表列印預覽Javascript網頁腳本實現九九乘法表列印預覽
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循環結構,較為簡單。
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實現九九乘法表.
<?php
for($i=1;$i<=9;$i++){
for ($j=1;$j<=$i;$j++){
$k=$i*$j;
echo "$j*$i=$k";
echo "&nbsp;|&nbsp;";
}
echo "<br>";
}
?>
《一課一練》英國版中可能改為“12×12” 語言不同導致口訣變長,背誦較難

相關詞條

熱門詞條

聯絡我們