~cpp #include <stdio.h> #define MAX 10 void main() { int colum, row; // 과 int i,j; // int array[MAX][MAX]; // 배 scanf("%d %d",&colum,&row); for ( i=1;i<=colum;i++ ) { for ( j=1;j<=i;j++) { if ( j==1 || j==i ) { array[i-1][j-1] = 1; printf("%d ", array[i-1][j-1]); } else { array[i-1][j-1] = array[i-2][j-2]+array[i-2][j-1]; printf("%d ", array[i-1][j-1]); } } puts(""); } printf("%d\n", array[colum-1][row-1]); }
~cpp def getrow(index): r = 1 i = 0 while (i<index): for j in range(r): i+=1 if i>index: break r+=1 return r def getcol(index): first = 0 for i in range(getrow(index)): first += i return index - first + 1 def getindex(row, col): first = 0 for i in range(row): first += i return first + col - 1 def pascal(maxrow): arr = [ 0 for x in range(maxrow) for y in range(x+1) ] for i in range(len(arr)): if ( getcol(i)==1 ): arr[i] = 1 elif ( getcol(i)==getrow(i) ): arr[i] = 1 else: a = arr[getindex(getrow(i)-1,getcol(i)-1)] b = arr[getindex(getrow(i)-1,getcol(i))] arr[i] = a+b stair = 1 print ' '*(maxrow-stair), for i in range(len(arr)): print arr[i], if ( getcol(i)==getrow(i) ): stair+=1; print ''; print ' '*(maxrow-stair), import sys pascal(int(sys.argv[1:][0]))
배로 만든 각다. 떤 로 문 모르겠다고 는데, 렸다. 배공 그n 되는군. 디가 로 만들봤다.(드가 당 -_-) 깔고 pascal.py로 다 명령 "pascal.py 10"런로 .