using System;
namespace Rekursion
{
class RekursiveBerechnung
{
public int addiereSummanden(int a, int b)
{
if (b.Equals(0) && a.Equals(0)) { return 0; }
else if (a.Equals(0)) { return 1 + addiereSummanden(0, b - 1); }
else { return 1 + addiereSummanden(a - 1, b); }
}
public int multipliziereFaktoren(int a, int b)
{
if (a.Equals(0) || b.Equals(0)) return 0;
else return addiereSummanden(a, multipliziereFaktoren(a, b - 1));
}
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Bitte wählen Sie aus, was Sie tun möchten:\r\n \r\nDrücken Sie A und dann Return, um 2 Summanden zu addieren\r\nDrücken Sie M und dann Return um 2 Faktoren miteinander zu multiplizieren");
string auswahl = Console.ReadLine();
if (auswahl.Equals("A") || auswahl.Equals("a"))
{
Console.WriteLine("Sie haben: 2 Summanden addieren gewählt. \r\nBitte geben Sie nun den ersten Summanden ein: ");
int summandA = Convert.ToInt16(Console.ReadLine());
Console.WriteLine("Bitte geben Sie nun den zweiten Summanden ein: ");
int summandB = Convert.ToInt16(Console.ReadLine());
Console.WriteLine(Convert.ToString(summandA) + " " + Convert.ToString(summandB));
RekursiveBerechnung rb = new RekursiveBerechnung();
int ergebnis = rb.addiereSummanden(summandA, summandB);
Console.WriteLine("Die Summe der Summanden A = {0} und B = {0} ist {0}", summandA, summandB, ergebnis);
}
else
{
Console.WriteLine("Sie haben: 2 Faktoren miteinander multiplizieren gewählt, bitte geben Sie nun den ersten Faktor ein: ");
string faktorA = Console.ReadLine();
Console.WriteLine("Bitte geben Sie nun den zweiten Faktor ein: ");
string faktorB = Console.ReadLine();
RekursiveBerechnung rb = new RekursiveBerechnung();
int ergebnis = rb.multipliziereFaktoren(Convert.ToInt16(faktorA), Convert.ToInt16(faktorB));
Console.WriteLine("Das Produkt der Faktoren A = {0} und B = {0} ist {0}", faktorA, faktorB, ergebnis);
}
}
}
}