一種排列好看巴斯卡三角形

2021-09-24 22:51:57 字數 777 閱讀 4143

在經典演算法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 放正了,就得到上面的...