Ilyet, hogy lehet Pascalban?
Faktoriálist szeretnék csinálni, ezzel csak az a baj h a változók számát pontosan tudni kell, ezért azt szeretném , hogy a amit bekér számot, hogy kiírja a faktoriálisát mindig annyi változót generáljon automatikusan úgy h 1 változó x-1 a második már x-2 legyen (az x az amit bekér számot)
Remélem érthetően írtam le
A ciklusokról ugye hallottál már? Mindössze 3 változóval megoldottam neked a problémát (és még az sem kizárt, hogy kevesebb változó is elég lenne):
program faktorialis;
var
n: integer;
i: integer;
eredmeny: longint;
begin
write('Kerem a szamot (n): ');
readln(n);
eredmeny:=1;
if n>0 then
begin
for i:=1 to n do
eredmeny:=eredmeny*i;
end
else eredmeny:=1;
writeln(n,'!= ',eredmeny);
end.
Ezt a problémát rekurzióval is meg lehet oldani. Google-ben keress Free Pascal Factorial kifejezésre.
miért kellene előre tudni?
Be: szam
fakt:=0
ciklus i:=szam-tól 1-ig
fakt:=i*i-1
Ki: fakt
szerintem működik, de nem teszteltem
Szam:=1;
For i:= 1 to beszam do
Begin szam:=beszam*szam;
end;
Magyarul ez pl. az 5-öt az 5-dikre emeli...
-Faktoriális:
{szam bekérése}
for i:=2 to szam-1 do
szam:=szam*i;
-Hatvány:
{szam és hatvany bekérése}
eredmeny:=1;
for i:=1 to hatvany do
eredmeny:=eredmeny*szam;
uses crt;
var k:integer;
function fakt(n:integer):longint;
begin
if n>0 then fakt:=n*fakt(n-1)
else fakt:=1;
end;
begin
clrscr;
write('Kerek egy egesz szamot (0..12): ');
readln(k);
writeln(k,'! = ',fakt(k));
end.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!