Matek házi? Folyt. Lent.
6. osztályos gyerek kapta házinak, de egyszerűen nem tudjuk megoldani.
Engedélyezett műveletek: +, -, *, /, zárójelezés
1., 108 204 (-84) 43 = (-151)
2., 106 45 16 24 = 76
3., 17 43 10 15 = 75
4., (-42) 55 35 30 = 126
Köszi előre is Mindenkinek!!!
Csókoltatom a kolleginát, kisebb számokkal is dolgoztathatna 6 - ban.
Első ránézésre a 2.
106-45*16:24=76
3.
17+43+10+15=75
A 4. szerintem:
(-42)* (55+35): (-30)=126
Igen, az utolsóra nekem is hasonló megoldás járt a fejemben, csak az a baj, hogy a 30 az nem negatív a számsorban.:( Amúgy kijönne így.
Mindenesetre köszönöm szépen a segítséget!!!
Haskell programnyelven próbáltam ellenőrizni.
A másodikra van megoldás, és ha megengedjük az említett apró előjelmódosítást, akkor a harmadikra is.
Egyébként az összes többire NINCS megoldás, tehát a többi példában valami hiba lehet (mármint magában a feladatban).
Akit érdekel az ellenőrző program listája:
Ha valaki használni is szeretné, akkor a
fájljai közül a ,,műveletek'' nevű programot lehet letölteni:
Ubuntu (általában: Linux) alatt fut:
./muveletek 106 45 16 24 = 76
erre kiírja, milyen műveleti összeállításra lehet előállítani a jobb oldali számot:
(106 - (45 * (16 / 24)))
(106 - ((45 * 16) / 24))
A negatív számokat nem itt kell zárójelbe tenni, mert az a parancssorban zavart okoz (a bash visszadobja), tehát elég:
./muveletek -42 55 35 -30 = 126
erre is megtalálja:
(-42 * ((55 + 35) / -30))
((-42 * (55 + 35)) / -30)
Az összes többire semmi találatot nem ad, ezért komoly esély van rá, hogy a többi feladatban magában a példában hiba van. Persze én is elronthattam valamit az ellenőrző programban, de mivel a jó megoldásokat megtalálta (alternatív alakjukkal együtt mindkét esetben), ezért lehetséges, hogy mégsem rossz az ellenőrző program, ekkor viszont az 1. és 4. példa tényleg hibás (mármint maga a feladat), és a 3. is csak az előjelmódosítással együtt tekinthető jó példának.
Ha valaki nem bízik a bináris fájlban, a ghc-val (Glasgow Haskell Compiler-rel) tudja lefordítani a programot magának:
ghc --make -o muveletek Main
Picit elírtam. Nem harmadik, hanem negyedik.Szóval: a második megoldható, és a NEGYEDK (nem harmadik!) pedig csak az említett apró előjelmódosítás esetén oldható meg. Az összes többi példa megoldhatatlan. A két megoldható példa esetén két-két megoldás van, de az egyes megoldáspárok tagjai nem különböznek érdemben egymástól:
$ ./muveletek 108 204 -84 43 = -151
$ ./muveletek 106 45 16 24 = 76
(106 - (45 * (16 / 24)))
(106 - ((45 * 16) / 24))
$ ./muveletek 17 43 10 15 = 75
$ ./muveletek -42 55 35 30 = 126
Látszik, hogy csak a másodikra van megoldás, az első, harmadik, negyedik feladat megoldhatatlan. Most nézzük meg újra a negyediket, ami egyébként megoldhatatlan, de módosítsunk az előjelet az említett módon:
$ ./muveletek -42 55 35 -30 = 126
(-42 * ((55 + 35) / -30))
((-42 * (55 + 35)) / -30)
Így kaptunk itt is egy megoldáspárt. Akárcsak a második példa esetében, a megoldáspár itt is valójában egyetlen megoldás, amelynek van egy érdektelen alternatív alakja is.
Az első válaszoló vagyok.
Azért érdekelne a tanári megoldás is... :D
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!