Új hozzászólás Aktív témák
-
axioma
veterán
válasz J0shu4M1ll3r #4265 üzenetére
Szerintem itt brute force [vagy max elagazas-korlatozassal megoldasra ha mar advanced] gondoltak. A 8! nem olyan nagy szam... plane hogy a pythonhoz lib van ami legeneralja a permutaciokat ;-) de gondolom az inkabb a feladat lenyege lenne.
[ Szerkesztve ]
-
kovisoft
őstag
válasz J0shu4M1ll3r #4265 üzenetére
Ha valamilyen backtrack-szerű algoritmust akarsz használni, akkor a számokat ne egyedi változókban tárold, hanem pl. tömbben, és akkor egységesen tudod tölteni őket. A feltételeidet ugyanúgy fel tudod írni pl. 2+X[0]+X[1]+X[2]+X[3]==26 formában,
De talán az axioma által is említett permutáció generálás a legegyszerűbb: az itertools modul permutations([3,5,6,8,9,10,11,12]) függvényével le tudod generálni a maradék nyolc szám összes permutációját, ezek közül kell azokat kiválogatni, ahol minden vonalra teljesül, hogy a számok összege 26.
-
sztanozs
veterán
válasz J0shu4M1ll3r #4265 üzenetére
1. szamozd be a cellakat 0-11-ig:
2. csinalj egy teljes permutaciot:
3. meccseld a permutaciot a szabalyra:
doboz[0] == 1
doboz[3] == 4
doboz[5] == 7
doboz[10] == 2
es az z osszegre vonatkozo logika:
doboz[0] + doboz[1] + doboz[11] == 26
doboz[1] + doboz[2] + doboz[3] == 26
doboz[3] + doboz[4] + doboz[5] == 26
doboz[5] + doboz[6] + doboz[7] == 26
doboz[7] + doboz[8] + doboz[9] == 26
doboz[9] + doboz[11] + doboz[11] == 26JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
kovisoft
őstag
válasz J0shu4M1ll3r #4268 üzenetére
Permutációval roppant egyszerű a dolog. Egy ciklusban végigmész a permutations([...]) által visszaadott listán, aminek mindegy eleme egy mondjuk x tömb lesz az aktuális permutációval. Az x tömb a nyolc ismeretlen számot jelöli (x[0]-tól x[7]-ig). Ezekre beteszel 6 darab if-et (olyasmit, mint amit te is felírtál, csak nem egyedi változókkal, hanem a tömb elemeivel), amiben ellenőrzöd az egyes vonalak mentén az összegeket. Ha bármelyik nem 26, akkor continue. A legvégén pedig kiiratod az x-et.
Házi feladatokat nem igazán oldunk meg más helyett, de ha van bármi kód kezdeményed, és elakadsz, akkor szívesen segítünk.
Szerk: Csak egy megjegyzés, hogy ne zavarjunk még jobban össze: én a fix számokat nem vettem bele a permutációba, mint sztanozs. Én csak a 8 ismeretlent permutálnám.
[ Szerkesztve ]
Új hozzászólás Aktív témák
- Xiaomi 14 Ultra - Leica hercegnő
- Politika
- Gaming notebook topik
- 5.1, 7.1 és gamer fejhallgatók
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
- Diablo IV
- Android alkalmazások - szoftver kibeszélő topik
- HiFi műszaki szemmel - sztereó hangrendszerek
- gban: Ingyen kellene, de tegnapra
- Samsung Galaxy S21 és S21+ - húszra akartak lapot húzni
- További aktív témák...
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Ozeki Kft.
Város: Debrecen