Hogyan lehet például az 5-ös lottó összes lehgetséges kihúzható sorozatát legenerálni? Közel 44 millió sorozatról van szó.
5 db for ciklussal például.
Mi értelme amúgy?
Tessék a lista, 43 949 268 variáció : [link]
Az öt for ciklus pedig:
program Project1;
{$APPTYPE CONSOLE}
uses SysUtils;
var i1, i2, i3, i4, i5, meddig : integer;
f : text;
begin
AssignFile(f, 'lotto_list.txt');
ReWrite(f);
meddig := 90;
for i1 := 1 to meddig - 4 do
for i2:= i1 + 1 to meddig - 3 do
for i3:= i2 + 1 to meddig - 2 do
for i4:= i3 + 1 to meddig - 1 do
for i5:= i4 + 1 to meddig do
WriteLn(f, i1:3, i2:3, i3:3, i4:3, i5:3);
CloseFile(f);
end.
A listát holnap törlöm mert 108 909 308 Byte tömörítve.
„For ciklus, mint Pascal? Az nem bír annyit. Csak olyan jó, hogy van egy sokumentum, amiben benne van a biztos nyerőszám.”
1. Ki beszélt okvetlenül pascalról, mellesleg miért ne?
2. Már hogy mit nem bír? 1-től 90-ig elszámolni, vagy 1-től 5-ig?
3. Miért ne írhatná mindezt egy szövegfájlba?
„Letöltöm a Pascalt és írok 5 vor ciklust? Aztán elindítom és kiadja a számokat?”
Valahogy úgy. Csak egyrészt talán nem ártana átgondolnod, hogyan használod a for ciklusokat, másrészt megint nem értem, hogy miért ragaszkodol foggal-körömmel a pascalhoz. Csak nem azért, hogy SimkoL megírja helyetted? Ügyes...
Az én gépem 18 másodperc alatt végigiterál az összes kombináción.
Konzolra vagy fájlba írni persze már sokkal több idő.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, 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!