You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
2.3 KiB
Plaintext
58 lines
2.3 KiB
Plaintext
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);
|
|
}
|
|
}
|
|
}
|
|
} |