C# :: Aufgabe #35
15 Lösungen
Fakultät von n berechnen
Anfänger - C#
von Dome
- 03.01.2013 um 01:39 Uhr
Schreiben Sie ein Programm, oder eine Funktion, die die Fakultät einer beliebigen Zahl berechnet ohne eine vorhandene Funktion aus der Programmbibliothek zu verwenden.
Konsolenausgabe:
Fakultät von n: 10
3628800
Lösungen:
Meine Lösung:
C#-Code
void main()
{
Console.Write("Fakultät von n: ");
string input = Console.ReadLine();
long eingabe = long.Parse(input);
Console.WriteLine(Fakultaet(eingabe));
}
public static long Fakultaet(long zahl)
{
if (zahl < 2)
{
return zahl;
}
return zahl * Fakultaet(zahl - 1);
}int f(int n) {
int ergebnis = 1;
for (int i = 1; i<= n; i++)
ergebnis *= i;
return ergebnis;
}using System;
namespace Fakultät_von_n_berechnen
{
class Program
{
static void Main(string[] args)
{
// Fenster Titel
Console.Title = "Fakultät von n berechnen";
// Eingabe von n
Console.Write("Fakultät von n: ");
int n = Convert.ToInt32(Console.ReadLine());
// Fakultät berechnen
long result = 1;
for (int i = 1; i <= n; i++)
{
result *= i;
}
// Ergebnis ausgeben
Console.WriteLine(result);
Console.ReadKey();
}
}
}using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FakultätVonN
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Geben Sie eine Zahl ein, von der die Fakultät berechnet werden soll: ");
int eingabe = Convert.ToInt32(Console.ReadLine());
int fak = 1;
for (int i = 1; i < eingabe; i++ )
{
fak *= i;
}
Console.WriteLine("Die Fakultät von N ist : " + fak);
Console.ReadLine();
}
}
}
static void Main(string[] args)
{
Console.WriteLine("Von welcher Zahl soll die Fakultät berechnet werden?");
int n = Convert.ToInt32(Console.ReadLine());
int zahl = n;
int fak = 0;
for (int i = zahl; i > 1; )
{
i = --i;
fak = i * zahl;
zahl = fak;
}
Console.WriteLine("Die Fakultät von {0} beträgt {1}", n, fak);
Console.ReadLine();
}
using System;
namespace Fakultät
{
class Program
{
static void Main(string[] args)
{
int i, ergebnis = 1;
do
{
Console.Write("Fakultät von n: ");
} while (!int.TryParse(Console.ReadLine(), out i));
while (i > 0)
ergebnis *= i--;
Console.WriteLine(ergebnis);
}
}
}
using System;
namespace ConsoleApplication11
{
class Program
{
static void Main(string[] args)
{
Console.Write("Geben Sie n! Fakultät ein: ");
int eingabe = int.Parse(Console.ReadLine());
double zahl = 1;
for (int i = 1; i < eingabe; i++) zahl *= i + 1;
Console.WriteLine(zahl);
Console.ReadLine();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace nFaculty
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Fakultät berechnen ganz einfach");
int x = Convert.ToInt32(Console.ReadLine());
int y = 1;
for (int i = 1; i <= x; ++i)
{
y = y*i;
}
Console.WriteLine("= " + y);
Console.ReadKey();
}
}
}using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FakultaetRechner
{
class Program
{
static void Main(string[] args)
{
int number;
do
{
Console.Clear();
Console.WriteLine("Fakultät welcher Zahl?");
} while (!int.TryParse(Console.ReadLine(), out number) || number < 0);
long result = number;
for (int i = (number-1); i > 0; i--)
{
result *= i;
if (result < 0)
{
Console.WriteLine("Das Ergebnis würde zu groß werden. Wähle bitte eine niedrigere.");
Console.ReadLine();
return;
}
}
Console.WriteLine("{0}! = {1}", number, result);
Console.ReadLine();
}
}
}
Geht nur bis 20. Dann wird das Ergebnis zu groß
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Fakultaet
{
class Program
{
static void Main(string[] args)
{
int eingabeZahl, fakultaet = 1;
Console.Write("Fakultät von n: ");
eingabeZahl = Convert.ToInt32(Console.ReadLine());
for (; eingabeZahl != 0; eingabeZahl--)
fakultaet *= eingabeZahl;
Console.Write(fakultaet);
Console.Read();
}
}
}
using System;
using System.Numerics;
using static System.Console;
namespace aufgabe_35 {
class Program {
static void Main() {
String NL = Environment.NewLine;
Boolean bo_next = true;
while (bo_next) {
BigInteger input = -1;
Boolean bo_input_ok = false;
while (!bo_input_ok) {
Write(NL + "Bitte eine ganze Zahl eingeben (größer Null): ");
bo_input_ok = (BigInteger.TryParse(ReadLine(), out input) && (input > 0));
}
BigInteger fac = 1;
for (BigInteger i = 2; i <= input; i++)
fac *= i;
WriteLine(NL + "Fakultät von " + input.ToString() + " ist " + fac.ToString("n0") + NL);
Write("Noch einmal? (Abbruch ESC)");
ConsoleKeyInfo ki = ReadKey(true); Write(NL);
bo_next = !(ki.Key == ConsoleKey.Escape);
}
}
}
}
private int CalcFaculty(int value)
{
if (value < 0)
{
return 1;
}
var result = 1;
for (var i = 2; i < value + 1; i++)
{
result *= i;
}
return result;
}
static void Aufgabe_35()
{
int n, summe = 1;
Console.Write("Fakultät von n: ");
n = Convert.ToInt16(Console.ReadLine());
for (; n > 1; n--)
{
summe *= n;
}
Console.WriteLine(summe);
}using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TrainYourProgrammer35
{
class Program
{
static void Main(string[] args)
{
Console.Write("Fakultät von n: ");
int n = Convert.ToInt32(Console.ReadLine());
int ergebnis = 1;
for (int i = n; i >= 1; i--)
{
ergebnis *= i;
}
Console.WriteLine(ergebnis);
Console.ReadKey();
}
}
}
NET 5.x; C# 9.x
C#-Code
using System.Numerics; public BigInteger Fak(int n) => Enumerable.Range(1, Math.Abs(n)).Aggregate(1, (x, y) => y *= x);
