自分で書いた楊輝三角

1691 ワード


package com.lee.graphic;

public class YangHuiTriangle {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int row = 10;
		int colunm = row * 2;
		int half_colunm = colunm / 2;
		
		int [][]array = new int [row][colunm];
		
		int index = 0;
		for(int i = 0; i < row; i++){
			// 
			for(int j = 0; j < half_colunm - i - 1; j++){
				array[i][j] = 0; 
				index++;
			}
			// 1 
			array[i][index++] = 1;
			// 2 , + 
			if(i != 0){
				// 
				for(int k = 0; k < i * 2; k++){
					if(k % 2 == 0){
						array[i][index] = 0;
					}else{
						array[i][index] = array[i - 1][index - 1] + array[i - 1][index + 1];
					}
					index++;
				}
				// 
				int lastColunm = row - index;
				for(int j = 0; j < lastColunm; j++){
					array[i][index] = 0; 
					index++;
				}
			}
			// index
			index = 0;
			
		}
		// 
		for(int i = 0; i < row; i++){
			for(int j = 0; j < colunm; j++){  
				if(array[i][j] == 0){
					System.out.printf("%-3s",""); 
				}else{
	                System.out.printf("%-3s",array[i][j]); 
				}
			}
			System.out.println();
		}
		
	}

}


[img]
http://dl.iteye.com/upload/attachment/0072/1974/2f64110c-a0ba-39cb-a533-600a9e8832eb.jpg
[/img]
書き終わったら、改善できる点がいくつかありますが、機能が実現したので、もっと改善する必要があるでしょう.