GRY-Online.pl --> Archiwum Forum

C++ for(silnia)

21.10.2003
20:52
smile
[1]

Vejt [ The Chronicles of Vejt ]

C++ for(silnia)

Mam pytanie czy da się zrobić silię na jednej pętli for ewentualnie na dwóch. Czy w ogóle da się zrobić silnię na pętli for.

21.10.2003
21:27
smile
[2]

Kijano [ Konsul ]

Nie wiem ja silnie w pascalu robie bez pętli for tylko z pętlą repeat

21.10.2003
21:28
[3]

Esqualante [ Jyhad Baghadyr ]

Hmm, da sie :)

21.10.2003
21:33
[4]

Esqualante [ Jyhad Baghadyr ]

Piszesz co nastepuje:

int i,n;
unsigned long silnia = 1; // to po to, aby moc liczyc duze silnie, np 100! (a nie wiem jak wielkie to moze byc)
// inaczej piszesz po prostu "int silnia = 1;"

cin >> n;

for (i = 1; i <= n; i++)
silnia = silnia * i;

cout << "Silnia jest rowna " << silnia;

// oczywiscie na poczatku #include <iostream.h>, to wszystko w funkcji main itd.

21.10.2003
21:39
[5]

mjs27 [ Pretorianin ]

Możesz też bez pętli, z wykorzystaniem rekurencji. Oto przykładowa funkcja:

double silnia(double n)

if (n>0) ‹
return n*silnia(n-1);
› else ‹
return 1;

21.10.2003
21:49
smile
[6]

KinSlayer [ Demon Hunter T ]

Esqualante >> 100 silnia??? chlopie :)

9! to ponad 300 000. Dalej za kazdym razem dochodzi co najmniej jedno zero. ULONG to ponad 4 mld...

Tak wiec licznik przekreci sie przy 13 :-)

mjs27 >> rekurencyjna wersja byla wczoraj, link ponizej :)

21.10.2003
22:03
[7]

Esqualante [ Jyhad Baghadyr ]

KinSlayer >>>> Z deka sie zagalopowalem :) Rzeczywiscie w przypadku unsigned long licznik przewraca sie po wpisaniu 14. A ta wersja rekurencyjna tez jest fajna. :)

© 2000-2024 GRY-OnLine S.A.