Tak wiec od jakiegos czasu tluke w szkole pascala, zabralem sie za kilka podstawowych algorytmow, i tak o to maly problem z silnia. Oto kodzik:
| Kod |
program silnia;
uses crt;
var n: longint;
function silnia(n: longint): longint;
begin
if n = 0 then silnia := 1
else silnia := n * silnia(n - 1);
end;
begin
clrscr;
writeln('Program oblicza silnie z dowolnej liczby');
write('Podaj liczbe: ');
readln(n);
writeln(n,'!= ',silnia(n));
repeat until keypressed;
end. |
I tu pytanie - jakiego typu zmiennej uzyc? Integer z tego co pamietam liczy silnie dla max. n = 11, longint dla max. n = 19... Jest jakis sposob na to, aby liczylo dla wiekszych wartosci?