Új hozzászólás Aktív témák
-
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.
-
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] == 26 -
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.
-
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.
Új hozzászólás Aktív témák
- Dell Optiplex 3020 SFF,i3-4150,4GB RAM,250GB HDD,DVD+RW,WIN10
- Apple Watch Ultra 3 GPS + Cellular 49mm Natural Titanium Case with Blue/Bright Blue Trail Loop - M/L
- ÚJ !! Apple MacBook Pro 14" M5 10 CPU / 10 GPU / 16 GB RAM / 512GB - 1 ÉV APPLE GARANCIA
- Huawei Mateview 34 Standard (3440x1440 165Hz) ultrawide monitor
- Gen 4.0 vertikális VGA bovid
- BESZÁMÍTÁS! MSI Ventus 3X OC RTX 3090 24GB videokártya garanciával hibátlan működéssel
- HIBÁTLAN iPhone 13 Pro 128GB Gold-1 ÉV GARANCIA - Kártyafüggetlen, MS4432, 100% Akksi
- Telefon felvásárlás!! Samsung Galaxy A13/Samsung Galaxy A33/Samsung Galaxy A53
- Bialetti kézi kávéőrlő
- ÁRGARANCIA!Épített KomPhone i7 14700KF 32/64GB RAM RX 9070 XT 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
