My student number: s186099 1: 1 1 2: 1 2 1 3: 1 3 3 1 4: 1 4 6 4 1 5: 1 5 10 10 5 1 6: 1 6 15 20 15 6 1 7: 1 7 21 35 35 21 7 1 8: 1 8 28 56 70 56 28 8 1 9: 1 9 36 84 126 126 84 36 9 1 10: 1 10 45 120 210 252 210 120 45 10 1 ---------------------------- |
なお,結果の出力では必ず最初の行に自分の学生番号を,最後にハイフンによるラインをつけること.無い場合には減点するので注意.
各係数は二項定理により求められますが,ややこしいことは考えなくても,上の2つの値の和になることはご存知でしょう.
最初の1次の係数の2つの1は自分で与えます.また,両端の1と内側の和になっている部分は分けて考えます.
int i, j, binary[10][11]; binary[0][0] = 1; binary[0][1] = 1;
解答用紙を使用する際には,学生番号と名前の記入も忘れないでください.さらに,解答用紙自体がC言語のプログラムとなっていますので, cc コマンドを実行して,コンパイルエラーの無いことを確認してから提出してください. 指定の解答用紙を使用していない,コンパイルエラーが出る,実行時に警告が出る,学生番号と名前が無い,というような答案は提出されても採点しません.注意してください. |
// ************************************************** // // プログラミング入門II レポート課題 // 2019.07.01 // // ************************************************** // // 学生番号: // // 氏名: // // ************************************************** // // #include <stdio.h> int main(void) { int i, j, binary[10][11]; printf("My student number: s186099\n\n"); /* for(i=0; i<=9; i++) { for(j=0; j<=10; j++) { binary[i][j] = 0; } }*/ binary[0][0] = 1; binary[0][1] = 1; for(i=1; i<=9; i++) { binary[i][0] = 1; for(j=1; j<=i; j++) { binary[i][j] = binary[i-1][j-1] + binary[i-1][j]; } binary[i][i+1] = 1; } for(i=0; i<=9; i++) { printf("%2d: ", i + 1); for(j=0; j<=8-i; j++) { printf(" "); } for(j=0; j<=i+1; j++) { printf("%3d ", binary[i][j]); } printf("\n"); } printf("\n----------------------------\n\n"); } |