楊輝三角——再帰実現(C言語記述)

1212 ワード

タイトルの説明
中学時代に習った楊輝三角を覚えていますか.具体的な定義はここでは説明しませんが、1 1 1 1 1 2 1 1 3 1 4 4 1 5 10 5 1を参照してください.
入力
入力データには複数のテストインスタンスが含まれ、各テストインスタンスの入力には、出力する楊輝三角の層数を表す正の整数n(1<=n<=30)が1つしか含まれていない.
しゅつりょく
各入力に対応して、対応する層数の楊輝三角を出力し、各層の整数間をスペースで区切り、各楊輝三角の後ろに空行を追加します.
サンプル入力
2 3

サンプル出力
1
1 1

1
1 1
1 2 1


2番目のレイヤから、現在のレイヤの各数は、前のレイヤと同じ位置の数字とその前の数字の和に依存します(上位レイヤのあるビットに数字がない場合はデフォルトは0).
コードは次のとおりです.
#include 
#include 

void yangTri(int m[], int n[], int level, int lim)
{
    int i;

    for(i = 1; i <= level-1; i++)   //  
        printf("%d ", m[i]);
    putchar('
'); if(level > lim) // return; for(i = 1; i <= level; i++) // n[i] = m[i]+m[i-1]; yangTri(n, m, level+1, lim); } int main() { int a[31], b[31]; int n; int i; while(scanf("%d", &n) != EOF) { memset(a, 0, sizeof(a)); memset(b, 0, sizeof(b)); a[1] = 1; // 0 i = 2; // yangTri(a, b, i, n); putchar('
'); } return 0; }