C#で三角形の形に数値を表示する方法(パスカルの三角形の実装)
C#で数値を三角形の形に表示したい場合、まずは2次元配列を用意することから始めます。この記事では、有名な「パスカルの三角形」を例に、その実装方法をわかりやすく解説します。
手順1:2次元配列を宣言する
三角形の各段の数値を格納するために、2次元配列を宣言します。ここでは5行×5列の配列を使用します。
int[] a = new int[5, 5];
手順2:出力イメージを確認する
三角形として表示するには、各行の先頭に適切な空白(スペース)を挿入し、数値をピラミッド状に整える必要があります。最終的な出力は以下のようになります。
1 1 1 1 2 1 1 3 3 1
手順3:ループ処理で三角形を構築する
ポイントは次の2つです。
- 外側のループで行を制御し、内側のループで空白と数値を出力する
- 各行の左端と右端(j == 0 または i == j の場合)には必ず 1 を設定し、それ以外の位置には「ひとつ上の行の同じ列」と「ひとつ上の行の左隣の列」の値を足した数を代入する
これがパスカルの三角形の基本的な性質です。実際のコードを見てみましょう。
サンプルコード
using System;
class Demo {
public static void Main() {
// 2次元配列を宣言
int[] a = new int[5, 5];
for (int i = 0; i < 5; i++) {
// 先頭に空白を挿入して三角形の形を作る
for (int k = 7; k > i; k--) {
Console.Write(" ");
}
// 三角形の数値を出力するループ
for (int j = 0; j <= i; j++) {
if (j == 0 || i == j) {
// 左端・右端は必ず1
a[i, j] = 1;
} else {
// 上の行の2つの値を足し合わせる
a[i, j] = a[i - 1, j] + a[i - 1, j - 1];
}
Console.Write(a[i, j] + " ");
}
Console.WriteLine();
}
Console.ReadLine();
}
}実行結果
上記のプログラムを実行すると、コンソールに次のような三角形が表示されます。
1
1 1
1 2 1
1 3 3 1解説のポイント
- 空白の出力: 内側の最初のループ(k)で、行番号が増えるごとに空白を1つずつ減らすことで、中央に寄った三角形の形状を実現しています。
- 値の計算規則: 各段の両端は常に1になり、内部の数値は直上の2つの値の合計になります。これは二項係数(組み合わせの数)と一致します。
- 応用: 配列サイズやループの上限値を変更すれば、より大きな三角形を簡単に描画できます。
このように、2次元配列と入れ子のループを組み合わせるだけで、C#でも美しい三角形パターンを簡単に出力できます。ぜひ実際にコードを動かして挙動を確かめてみてください。
-
Pythonで自然数の合計を求める3つの方法【while文・for文・sum関数】
Pythonでは、自然数の合計を求める方法がいくつかあります。この記事では、whileループ、forループ、そして組み込み関数sum()を使った3つの方法を、具体的なコード例とともにわかりやすく解説します。 方法1:whileループを使う whileループを使用すると、変数iの値を1ずつ増やしながら、その値を累積的に加算していくことができます。以下の例では、最初の10個の自然数(1から10まで)の合計を計算しています。 s,i=0,0 n=10 while i<n: i=i+1 s=s+i print ("sum of first 10 natural num
-
ExcelのROUND関数で数値を丸める方法|四捨五入をわかりやすく解説
Excelで資料を見やすく整えたいとき、数値を小数点以下や整数単位で丸めると、ぐっと読みやすくなります。数値を丸めるということは、重要度の低い桁を取り除くことを意味します。その結果、必要な精度を保ちながら、より見栄えの良い値に仕上げることができます。 丸め処理は、概算を示したり、数値を扱いやすくしたりする目的でよく使われます。たとえば、割引率を計算して「17.3587563」という数値が出た場合、小数第1位で丸めれば「17.4%」となり、はるかに見やすくなります。この記事では、ROUND関数を使って数値を丸める方法を詳しくご紹介します。 ExcelのROUND関数とは ROUND関数は、Ex