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); }
C#-Code
int f(int n) { int ergebnis = 1; for (int i = 1; i<= n; i++) ergebnis *= i; return ergebnis; }
C#-Code
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(); } } }
C#-Code
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(); } } }
C#-Code
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(); }
C#-Code
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); } } }
C#-Code
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(); } } }
C#-Code
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(); } } }
C#-Code
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ß
C#-Code
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(); } } }
C#-Code
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); } } } }
C#-Code
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; }
C#-Code
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); }
C#-Code
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);