Fizz-Buzz問題

1から100までの数をプリントするプログラムを書け。ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。

どうしてプログラマに・・・プログラムが書けないのか?

using System;
using System.Collections.Generic;

namespace Example {
    class MainClass {
        public static void Main(string[] args) {
            var ls = new List<string>();
            for (int i = 1; i <= 100; i++) {
                if (i % 3 == 0 && i % 5 == 0) {
                    ls.Add("FizzBuzz");
                }
                else if (i % 3 == 0) {
                    ls.Add("Fizz");
                }
                else if (i % 5 == 0) {
                    ls.Add("Buzz");           
                }
                else {
                    ls.Add(i.ToString());                    
                }
            }
            Console.WriteLine(string.Join(",", ls));
        }
    }
}
  • Xamarin Studio のインデントフォーマットの設定を変更したり。
  • C# では、int に対して ToString() メソッドを呼べるんですね。かっこいい。