source: esimerkit/2015k/live/live19/Kertoma/Kertoma.cs @ 1483

Revision 1097, 1.8 KB checked in by anlakane, 3 years ago (diff)
Line 
1using System;
2using System.Text;
3using System.Linq;
4using System.Collections.Generic;
5
6/// @author Antti-Jussi Laknaen
7/// @version 18.3.2015
8///
9/// <summary>
10/// Rekursioharjoituksia.
11/// </summary>
12public class Rekursioharjoituksia
13{
14    /// <summary>
15    ///
16    /// </summary>
17    public static void Main()
18    {
19        long k = Kertoma(52);
20        Console.WriteLine(k);
21
22        int fibo = Fibonacci(8);
23        fibo = Fibonacci(12);
24    }
25
26
27    /// <summary>
28    /// Antaa Fibonaccin n:nen luvun.
29    /// </summary>
30    /// <param name="monesko">n</param>
31    /// <returns>Fibonacci(n)</returns>
32    /// <example>
33    /// <pre name="test">
34    ///  Rekursioharjoituksia.Fibonacci(6) === 8;
35    ///  Rekursioharjoituksia.Fibonacci(10) === 55;
36    ///  Rekursioharjoituksia.Fibonacci(0) === 0;
37    ///  Rekursioharjoituksia.Fibonacci(-1) === 0;
38    ///  </pre>
39    /// </example>   
40    public static int Fibonacci(int monesko)
41    {
42        if (monesko == 0) return 0;
43        if (monesko == 1) return 1;
44        return Fibonacci(monesko - 1) + Fibonacci(monesko - 2);
45    }
46
47    /// <summary>
48    /// Lasketaan n:än kertoma
49    /// <pre>
50    ///   n! = n*(n-1)!
51    ///   0! = 1
52    /// </pre> 
53    /// </summary>
54    /// <param name="n">minkä luvun kertoma</param>
55    /// <returns>n!</returns>
56    /// <example>
57    /// <pre name="test">
58    ///   Rekursioharjoituksia.Kertoma(0) === 1L;
59    ///   Rekursioharjoituksia.Kertoma(1) === 1L;
60    ///   Rekursioharjoituksia.Kertoma(2) === 2L;
61    ///   Rekursioharjoituksia.Kertoma(3) === 6L;
62    ///   Rekursioharjoituksia.Kertoma(5) === 120L;
63    /// </pre>
64    /// </example>
65    public static long Kertoma(long n)
66    {
67        //int tulos = 1;
68        if (n == 0) return 1;
69        return n * Kertoma(n - 1);
70        //return tulos;
71    }
72}
Note: See TracBrowser for help on using the repository browser.