中国三角形是中国人最早发明的,它是一个伟大的三角形数字工具。
它长这样:
或者这样:
它最早由中国北宋的贾宪提出,由南宋的杨辉发扬光大,几百年后才被欧洲人帕斯卡发现。
21世纪以来国外也逐渐承认这项成果属于中国,所以有些书上称这是“中国三角形”。
它是一个十分厉害和好玩的数形结合工具,在很多问题上可以应用到它,比如二项式系数、斐波那契数列、倍数与分形。
今天我们先用编程的方法绘制一个可以自由定义层数的“中国三角形”。
①当我们输入5时,它是这样:
②当我们输入10时,它是这样:
③当我们输入15时,它是这样:
理论上,它可以无限写下去。
使用编程的好处就是我们可以自由决定它的层数,然后做成图片使用,很方便。
你们一会儿可以复制代码,自己玩,只要显示器够大,理论上可以到无限层。
(新建一个文本文档,复制下面的代码,然后保存退出,把文件名后缀改成.html,用浏览器打开,就可以执行程序了)
代码如下:
!DOCTYPEhtml
html
body
p输入数字:/p
inputid=d1type=textvalue=p/p
buttononclick=p(d1.value)确定/buttonbr
script
functionp(d){
varbr=document.createElement(br);
document.body.appendChild(br);
vara=newArray();
for(i=0;id;i++){
a[i]=newArray();
for(j=0;j=i;j++){
if(j==0
j==i)
a[i][j]=1;
else
a[i][j]=a[i-1][j-1]+a[i-1][j];
varbtn=document.createElement(BUTTON);
btn.style.height=30px;
btn.style.width=50px;
btn.style.position=absolute;
btn.style.top=(+30*i).toString()+px;
if(i==0)
btn.style.left=px;
else
btn.style.left=(-25*i+50*j).toString()+px;
vart=document.createTextNode(a[i][j]);
btn.appendChild(t);
document.body.appendChild(btn);
if(j==i)
{
varbr=document.createElement(br);
document.body.appendChild(br);
}
}
}
}
/script
/body
/html