2014年06月04日

C#で横向きのピラミッドを作る

   このエントリーをはてなブックマークに追加 Clip to Evernote
どう書く?orgに感謝を込めて」シリーズ その12



■問題 (出題者:takano32 さん)
与えられた自然数 n について、横向きで n 段のピラミッドを作ってください。 たとえば、 n に 4 が与えられた場合は以下のようなピラミッドを作ります。
*
**
***
****
***
**
*
与える自然数についてはリテラルで与える、標準入力で与える、引数で与えるなどは自由とします。

ノーマルな方法とLINQを使った方法で書いてみました。

■C#で書いたコード
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Doukaku.Org { class Program { static void Main(string[] args) { YokoPyramidByLinq(4); } // ノーマルな方法 static void YokoPyramid(int n) { // 上半分 (中心含む) for (int i = 1; i <= n; i++) { Console.WriteLine(new string('*', i)); } // 下半分 for (int i = n - 1; i > 0; i--) { Console.WriteLine(new string('*', i)); } } // LINQで static void YokoPyramidByLinq(int n) { foreach (var star in Enumerable.Range(1, n * 2 - 1).Select(i => i > n ? 2 * n - i: i)) Console.WriteLine(new string('*', star)); } } }


 

この記事へのトラックバックURL

http://trackback.blogsys.jp/livedoor/gushwell/52370108