Hogyan tudnék egy programot írni, ami generálna a lent ismertetett szempontok szerint számokat, számsorozatokat?
Például vegyünk egy olyan számhalmazt, ami az {1,2,3,4,5,6,7,8,9,10} számokat tartalmazza.
Ki szeretnék választani belőle 3 darab számot, azt hány féle képpen tehetem meg?
Ez ugye nagyon egyszerű 10nCr3=120 ami a (10!)/(3!×6!)=120
A kérdésem és segítségkérésem arra vonatkozna, hogy olyan számítógépes programot szeretnék írni, ami ezt a korábbi példában említett 120 féle számsorozatot kiszámolja és egy txt-be kimenti.
A válaszokat előre is nagyon köszönöm! :)
"(10!)/(3!×6!)" Az 840, de valóban 120 féleképp lehet.
Egyébként nagyon egyszerűen lehet írni ilyen programot. 3 for ciklus kell hozzá egymásba ágyazva, a ciklusváltozókat kell fájlba írni.
Faktoriálist legkönnyebb iterációval:
int fakt ( int n)
{
return (n > 1) ? (n*fakt (n-1) ):( 1);
}
Így az általad igényelt számítás:
int kombinacio ( int minek, int osztaly)
{
return (minek*osztaly < 0) ? 0 : (fakt(minek)/(fakt(osztaly)*fakt(minek-osztaly)));
}
@Tom Benko
Szövegértelmezési gondjaid vannak?
A kérdező le szeretné generálni programmal ezt a 120 féle számsorozatot.
VisulBasic-et tanítottak régen, de nagyon alapszinten tudok róla ezt-azt. De írtam néhány, többnyire matematikai műveletekkel dolgozó programokat, de itt elakadtam és nincs ötletem, hogyan tudnám megvalósítani. Nem tűnik bonyolultnak, de még is az.
Az eddigi válaszokat köszönöm nagyon :)
@3: Nem, munkába indultam.
A generálás valóban úgy megy, hogy ciklusokkal legeneráltatjuk. Viszont kell bele egy ellenôrzés is az ismétlôdések ellen.
"Viszont kell bele egy ellenôrzés is az ismétlôdések ellen."
Ezt a feladatot meg lehet sokkal jobban csinálni, úgy hogy nem kell ellenőrizni hogy volt e. Eleve úgy kell előállítani a számhármasokat hogy azok lexikografikusan növekvő számhármas sorozatokat alkossanak. Python-ban a kedvenc prog. nyelvemen csak néhány sor az egész, nem írtam meg a kódot csak fejben, de leírom ha érdekel valakit.
Itt van, még meg is sorszámoztam a sorokat: [link]
Egyébként mire kell?
További 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!