c# Reihenentwicklung für kosinus?

3 Antworten

Wenn ich das richtig verstehe, muss die Zahl, die für diese Aufgabe eingegeben werden soll, die Fakultät einer Zahl sein und es darf nur das Ergebnis einer Fakultät sein (z. B. 4! = 24).

Falls dem so ist, könntest du am Anfang des Programms eine generische Liste vom Typ int mit den Fakultäten aller Zahlen bis 2k (ich nehme an, du meinst damit 2.000) befüllen. Dafür nutzt du einfach wieder eine for-Schleife.

Wenn du dann die Eingabe überprüfst, gehst du mit foreach durch die generische Liste durch und prüfst, ob die Zahl vorhanden ist. Wenn nicht, muss eine neue Zahl eingegeben werden. Alternativ kannst du auch mit der Funktion List<T>.FindIndex(Predicate<T>) ermitteln, ob die Zahl in der Liste vorhanden ist. Das spart Rechenleistung. Und dann musst du nur prüfen, ob der Index == -1 ist. Falls ja, muss eine neue Zahl eingegeben werden.

Woher ich das weiß:Berufserfahrung

antieinhorn00 
Beitragsersteller
 26.11.2018, 19:38

k ist eine variable die von 1 an heraufzählt ':)

0
RBM1992  27.11.2018, 11:14
@antieinhorn00

Demnach ist (2k)! also das Doppelte einer Zahl k und dann dessen Fakultät, ja? Wie z. B. k = 4, dann wäre (2k)! = 40320.

Oder wird die Fakultät verdoppelt? Das wäre z. B. k = 4 und (2k)! = 48.

So oder so, du kannst alle Ergebnisse in einer List<T> speichern und dann prüfen, ob die eingegebene Zahl darin enthalten ist.

0
RBM1992  27.11.2018, 11:44
@RBM1992

Hier noch ein Beispiel für List<T>.FindIndex:

int idx = lstNumbrs.FindIndex(n => n == 13);

Dabei musst du die 13 durch den eingegebenen Wert ersetzen. Ist idx = -1, dann ist die Zahl nicht in der Liste vorhanden.

0

Du musst doch die natürlichen Zahlen bis 2k multipliziert kriegen.
Wo ist denn das Problem?


antieinhorn00 
Beitragsersteller
 26.11.2018, 15:21

man darf nur 2!,4!,6! etc quasi nutzen aber ich weiss nicht wie ich die andern zahlen ausschließen soll

0

Bild zum Beitrag

Das ist die genaue Aufgabenstellung @RBM1992

 - (Computer, Schule, Mathematik)