在經典演算法50上看到的演算法。如下兩圖就是巴斯卡三角形,直接看圖就可以理解。演算法精妙濃縮到p = p * (n-i+1) / i;上。 但是這個列印出來的金字塔不好排列,我寫了兩個方法把他改好看一點,使用最大數的長度+2來做為標準的間隔。
高度 n=6
高度 n=12
**如下:
public static void main(string args) else /* 排版設定結束 */
//列印數字
printnum(n,r,maxlen);
}system.out.println("");}}
public static long combi(int n, int r)
//列印空格
public static void printnull(int maxlen)
system.out.print(numstr);
}//列印空格加數字
public static void printnum(int n,int r,int maxlen)else
}else if((strlen-len)/2}}
system.out.print(numstr);
}
巴斯卡(Pascal)三角形
背景知識 巴斯卡是十七世紀的一位法國數學家,也是歷史上第一位發明了加法計算機的人!他造出 巴斯卡三角形 的方法是這樣的 先在紙上寫出一行和一列的 1 然後在各個位置中填入數字,每乙個位置上的數字都是它上面乙個數和左邊乙個數的和。接下來,把這個表右轉45 放正就得到上面的數字三角形了。現在的數學書裡,...
170423 巴斯卡三角形
include define n 5 總共6行 long combi int row,int location return position value row 代表行,從第0行開始 location 代表一行中的各個位置 position value 代表相應位置的值 void paint el...
巴斯卡三角形(楊輝三角)
參考資料 1.巴斯卡三角的來歷 2.巴斯卡是十七世紀的一位法國數學家,也是歷史上第一位發明了加法計算機的人!他造出 巴斯卡三角形 的方法是這樣的 先在紙上寫出一行和一列的 1 然後在各個位置中填入數字,每乙個位置上的數字都是它上面乙個數和左邊乙個數的和。接下來,把這個表右轉45 放正了,就得到上面的...