Mergi la conținut

Neĝulino kaj la sep etuloj

de fabrice94, 24 iunie 2014

Contribuții/Mesaje: 14

Limbă: Esperanto

fabrice94 (Arată profil) 24 iunie 2014, 18:00:47

Neĝulino donacos pesilon al sep viretuloj.
Iu surgrimpis la pesilon kaj iu skribis lian pezon sur paĝo.
Ili donis la paĝon, sen skribinte nomo, al Neĝulino : 22 kg – 14 kg – 16 kg – 11 kg – 17 kg – 24 kg – 19 kg.

Poste ludanta, ili duope surgrimpis la pesilon, krom Grumbletulo kiu ne volas (ne envias).

Tiam ili diras al Neĝulino ke :

Dormetulo kaj Scietulo kunestis sur la pesilo.
Timemetulo kaj Ĝojetulo kunestis sur la pesilo.
Ternetulo kaj Simpletulo kunestis sur la pesilo.

Ili diris al Neĝulino ke la pesilo indikis sampezo ĉiufojo.
Neĝulino diras tiuokaze : «Ne paroli, mi scias nun la Grumbetulo pezon. »

Ĉu estas Grumbetulo pezo ?

HaleBopp (Arată profil) 28 iunie 2014, 20:44:44

Aspektas ke la nura kombinaĵo kiu funkcias estas :
22 + 11 = 33
14 + 19 = 33
16 + 17 = 33
Restas 24. Do Grumbletulo pezas 24 kg.

Ĉu bone?

nornen (Arată profil) 28 iunie 2014, 21:07:26

fabrice94:Ĉu estas Grumbetulo pezo ?
Ne. Grumbetulo estas etulo, kaj ne pezo.

----
(lambda e:{w for w in e if not sum(e-{w})%3})({22,14,16,11,17,24,19})

Altebrilas (Arată profil) 2 iulie 2014, 14:33:32

Tio ankaŭ funkcias en Pitono, sed mi ne komprenis la rezonadon. Ĉu vi povas klarigi ĝin?
(lambda e:[w for w in e if not (sum(e)-w)%3])([22,14,16,11,17,24,19])
[24]
Kio okazus se 24 estus anstataŭita per ne-trionigebla nombro?

nornen (Arată profil) 2 iulie 2014, 17:12:58

Altebrilas:Tio ankaŭ funkcias en Pitono, sed mi ne komprenis la rezonadon. Ĉu vi povas klarigi ĝin?
(lambda e:[w for w in e if not (sum(e)-w)%3])([22,14,16,11,17,24,19])
[24]
Kio okazus se 24 estus anstataŭita per ne-trionigebla nombro?
Tiuokaze vi bezonus pli da testoj.

python3:(lambda a:{w for w in a if (lambda s: False if sum(s)%3 else sum(sum(1 for x in s-{w} if x+w==sum(s)//3) for w in s)==len(s))(a-{w})})({22,14,16,11,17,19,24})
Se mi ne eraris, tiu devus trovi ĉiujn eblajn pezojn de Grumbetulo.

Ekzemple {22,14,16,11,17,19,24} donas {24}.
{22,14,16,11,17,19,25} donas {16, 25}.
{22,14,16,11,17,19,26} donas {26}.

Altebrilas (Arată profil) 2 iulie 2014, 20:48:47

Mi ne komprenis la tuton, sed reskribis ĝin tiel, ĉar tio aspektas pli legebla:
a=[22,14,16,11,17,19,24]
for w in a:
____ s=a[:];s.remove(w);s.sort();
____ if s[0]+s[5]==s[1]+s[4]==s[2]+s[3]: print w
NB: antataŭigu la "_" per spacoj se vi provas la kodaĵon.

Sxak (Arată profil) 14 iulie 2014, 02:52:59

ilia suma pezo estas 123 - dividebla je 3, sekve do ankaŭ la nepesita etulo havas la pezon divideblan je 3, inter ili estas sola tia pezo - 24

PS: kion kaj kiucele vi kombinas? ĉiufoje po du etuloj la pesilo indikis x, sekve do tiuj 6 etuloj pezas 3x La suma pezo estas 123=3x+y el kio sekvas, ke y estas dividebla je 3

Altebrilas (Arată profil) 15 iulie 2014, 20:47:43

La pruvo, en tiu kazo, estas eleganta. Sed ĝi ne funkcias en la ĝenerala kazo.

Sxak (Arată profil) 17 iulie 2014, 09:57:44

Altebrilas:La pruvo, en tiu kazo, estas eleganta. Sed ĝi ne funkcias en la ĝenerala kazo.
Gxi funkcias en ajna kazo. La resto post divido je 3 en ajna kazo egalas al tiu resto de la sumo

fabrice94 (Arată profil) 18 martie 2015, 15:56:50

brave ĉiu !
Grumbetulo pezo estas 24kg.
Ŝak havas pli bela solvo.

Înapoi la start