再帰処理の書き方比較(F#, C#)
F# めっちゃ最小限でかけるじゃん!って興奮したけど、C# も書いてみたら、思いのほかそんなにたいして記述量変わらなかったよねって気づいたところを記念して、記事に残しておきます。
[<EntryPoint>] let main argv = let print x = printfn "%A" x let rec kaijo x = match x with | 1 -> 1 | _ -> x * kaijo (x-1) kaijo 3 |> print kaijo 8 |> print System.Console.ReadKey() |> ignore 0
using System; namespace ConsoleApp1 { class Program { static void Main(string[] args) { Console.WriteLine(kaijo(3)); Console.WriteLine(kaijo(8)); Console.ReadKey(); } static int kaijo(int i) { if (i == 1) return 1; else return i * kaijo(i - 1); } } }