using System; namespace Rekursion { class RekursiveBerechnung { public int addiereSummanden(int a, int b) { if (b == 0 && a == 0) { return 0; } else if (a == 0) { return 1 + addiereSummanden(0, b - 1); } else { return 1 + addiereSummanden(a - 1, b); } } public int multipliziereFaktoren(int a, int b) { { if (a == 0 || b == 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 um 2 Summanden zu addieren\r\nDrücken Sie M um 2 Faktoren miteinander zu multiplizieren"); char auswahl = (char)Console.Read(); if (auswahl.Equals("A")||auswahl.Equals("a")) { Console.WriteLine("Sie haben: 2 Summanden addieren gewählt, bitte geben Sie nun den ersten Summanden ein: "); int summandA = Console.Read(); Console.WriteLine("Bitte geben Sie nun den zweiten Summanden ein: "); int summandB = Console.Read(); 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("Die Summe der Summanden A = {0} und B {0} ist {0}", faktorA, faktorB, ergebnis); } } } }