#1
19.08.2015 um 19:20 UhrUnd drei Kinder können sich nicht eine Torte teilen?
Die Berechnung ist schon etwas komplizierter als hier dargestellt.
Die Berechnung ist schon etwas komplizierter als hier dargestellt.
C# :: Aufgabe #103 :: Lösung #2
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tortenproblem
{
class Program
{
static void Main(string[] args)
{
int anzahlT, anzahlK;
do
{
Console.Clear();
Console.WriteLine("Wieviele Torten gibt es?");
} while (!int.TryParse(Console.ReadLine(), out anzahlT) || anzahlT < 0);
do
{
Console.Clear();
Console.WriteLine("Wieviele Kinder gibt es?");
} while (!int.TryParse(Console.ReadLine(), out anzahlK) || anzahlK < 0);
int anzahlStuecke = anzahlK * anzahlT;
// k - Kinder,
// t Torten,
// stuecke - Anzahl von Tortenstücken
// Jedes Kind hat t stücke, es gibt "stuecke" viele Stücke
// ==> anzahlStuecke!/((anzahlStuecke - anzahlK)! * anzahlK!)
double anzahlMoeglichkeiten;
ulong anzahlStueckeFakultaet = 1;
for (uint i = 1; i <= anzahlStuecke; i++)
{
anzahlStueckeFakultaet *= i;
}
ulong anzahlStueckeMinusTortenFakultaet = 1;
for (uint i = 1; i <= (anzahlStuecke - anzahlT); i++)
{
anzahlStueckeMinusTortenFakultaet *= i;
}
ulong anzahlKFakultaet = 1;
for (uint i = 1; i <= anzahlK; i++)
{
anzahlKFakultaet *= i;
}
anzahlMoeglichkeiten = (anzahlStueckeFakultaet) / ((anzahlStueckeMinusTortenFakultaet) * anzahlKFakultaet);
Console.WriteLine("Es gibt {0} Möglichkeiten die {1} Tortenstücke von {2} Torten auf die {3} Kinder zu verteilen", anzahlMoeglichkeiten, anzahlStuecke, anzahlT, anzahlK);
Console.ReadLine();
}
}
}
Kommentare:
eulerscheZhl
Punkte: 5230
110 Aufgaben
76 Lösungen
64 Kommentare
niknik
Punkte: 1230
54 Lösungen
3 Kommentare
eulerscheZhl
Punkte: 5230
110 Aufgaben
76 Lösungen
64 Kommentare