目次へ

Neĝulino kaj la sep etuloj

fabrice94,2014年6月24日の

メッセージ: 14

言語: Esperanto

fabrice94 (プロフィールを表示) 2014年6月24日 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 (プロフィールを表示) 2014年6月28日 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 (プロフィールを表示) 2014年6月28日 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 (プロフィールを表示) 2014年7月2日 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 (プロフィールを表示) 2014年7月2日 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 (プロフィールを表示) 2014年7月2日 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 (プロフィールを表示) 2014年7月14日 2: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 (プロフィールを表示) 2014年7月15日 20:47:43

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

Sxak (プロフィールを表示) 2014年7月17日 9: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 (プロフィールを表示) 2015年3月18日 15:56:50

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

先頭にもどる