杨辉三角介绍
杨辉三角,是二项式系数在三角形中的一种几何排列。杨辉三角是中国古代数学的杰出研究成果之一,它把二项式系数图形化,把组合数内在的一些代数性质直观地从图形中体现出来,是一种离散型的数与形的结合
形式如下
目标
以不同于例子中的方式,用ahk实现
例子1
aaa := sj(10)
sj(Num){
a := [], b := [], c := []
loop % Num
{
If (A_Index = 1){
c.Push(1)
a.Push(c)
c := []
} Else If (A_Index = 2){
c.Push(1)
c.Push(1)
a.Push(c)
b := c
c := []
} Else {
c.Push(1)
For k,v in b {
If (k > 1) {
d := v + b[k-1]
c.Push(d)
}
}
c.Push(1)
a.Push(c)
b := c
c := []
}
}
For i,n in a
{
For ii,nn in n
{
If (ii = 1) {
nn := Format("{:" (Num-i+1) "}", nn)
nn := RegExReplace(nn, " ", "`t")
s .= nn
}
Else
s .= "`t`t" nn
}
s .= "`n"
}
Return s
}
例子2
by AutoHotkey(ahk) | 中文社区 — 蜜獾哥
YanHuiSanJiao:=PrintYanHuiSanJiao(15,Array)
Clipboard:=YanHuiSanJiao
MsgBox % YanHuiSanJiao
PrintYanHuiSanJiao(Count,ByRef Array){
String:="",Array:=[]
if !Count
Return ""
Loop,% Count {
Index:=A_Index,Array[Index]:=IsObject(Array[Index])?Array[Index]:[]
if objLength(Array[Index-1]){
loopstring:=""
Loop,% objLength(Array[Index-1])+1
{
TEMPVar:=(Array[Index-1,A_Index-1]?Array[Index-1,A_Index-1]:0)+(Array[Index-1,A_Index]?Array[Index-1,A_Index]:0)
Array[Index].Push(TEMPVar)
loopstring.=TEMPVar . " "
}
String.=SubStr(Format("{: " (Count-Index)+1 "}",TEMPVar),1,-1) Trim(loopstring," ") . "`n",TEMPVar:=""
}Else{
Array[Index].Push(Index)
String.=Format("{: " (Count-Index)+1 "}",Index) . "`n"
}
}
Return StrReplace(String,A_Space,A_Tab)
}
999关已经有了
?
闯关接龙又多了一层
加油