Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 22. 06. 2010 18:23

warchief
Zelenáč
Příspěvky: 6
Reputace:   
 

[ěžká hádanka] - prelevani vody

[těžká hádanka] - prelevani vody

Mame nadoby o objemu 10, 7, 7 a 4 litry, v 10-ti litrove nadobe je 10 litru, jedna 7-mi litrova nadoba je prazdna, v druhe 7-mi litrove nadobe je 7 litru, 4 litrova nadoba je prazdna. Jak pomoci prelevani docilime stavu 10, 2, 2, 3 ?

Ja osobne netusim jak neco takoveho resit jinak, nez metodou pokus-omyl, ktera tady selhala, diky za jakoukoli radu nebo reseni.

Offline

 

#2 22. 06. 2010 19:18

gladiator01
Místo: Jindřichův Hradec
Příspěvky: 1587
Škola: ZČU FAV - SWI
Pozice: absolvent
Reputace:   53 
Web
 

Re: [ěžká hádanka] - prelevani vody

Podobné se řešily zde tak třeba pomůže.


Naděje jako svíce jas, potěší srdce štvané, čím temnější je noční čas, tím zářivěji plane.
VIVERE - MILITARE EST (Seneca)
Vím, že nic nevím. - Sokrates

Offline

 

#3 22. 06. 2010 19:33

warchief
Zelenáč
Příspěvky: 6
Reputace:   
 

Re: [ěžká hádanka] - prelevani vody

Diky, ale tohle uz jsme procital a v podstate jde o konkretni reseni jinych prikladu, bez postupu nebo zpusobu reseni, takze ja nejsem schopnej nic z toho pouzit na tuhle ulohu. Krome toho jde o 4 nadoby, coz podstatne zvetsuje obtiznost oproti 3 nadobam.

Offline

 

#4 22. 06. 2010 20:14

Dr. Marlen
Příspěvky: 44
Reputace:   
 

Re: [ěžká hádanka] - prelevani vody

Já jsem to tedy řešil tou metodou pokus-omyl s tím, že jsem neověřoval, jestli je to nejjednodušší řešení. Tady je (pokud nezáleží na tom v jaké nádobě má být jaký objem):
10   7    7    4  -  objemy nádob
10   0    7    0  -  počáteční rozdělení
0     6    7    4  -  přelití objemu první nádoby nejprve do čtvrté, zbytek do druhé
7     6    0    4  -  přelití třetí nádoby do první
7     6    4    0  -  přelití čtvrté nádoby do třetí
7     2    4    4  -  naplnění čtvrté nádoby obsahem druhé
10   2    5    0  -  přelití objemu čtvrté nádoby nejprve do první, zbytek do třetí
6     2    5    4  -  naplnění čtvrté nádoby obsahem první
6     2    7    2  -  doplnění třetí nádoby obsahem čtvrté
10   2    3    2  -  doplnění první nádoby obsahem třetí

Offline

 

#5 22. 06. 2010 20:18

warchief
Zelenáč
Příspěvky: 6
Reputace:   
 

Re: [ěžká hádanka] - prelevani vody

Ale konecny vysledek ma byt 10 2 2 3 a ne 10 2 3 2 :)

Offline

 

#6 22. 06. 2010 20:28

Dr. Marlen
Příspěvky: 44
Reputace:   
 

Re: [ěžká hádanka] - prelevani vody

Proto jsem psal, že je to řešení v případě, že nezáleží na tom, v jaké nádobě má být jaký objem. Navíc v zadání není přesně specifikované pořadí nádob. Je tedy nutné, aby dva litry byly v sedmilitrových nádobách a tři litry ve čtyřlitrové?

Offline

 

#7 22. 06. 2010 20:50

warchief
Zelenáč
Příspěvky: 6
Reputace:   
 

Re: [ěžká hádanka] - prelevani vody

Jo, presne tak

Offline

 

#8 22. 06. 2010 23:31

petrkovar
Veterán
Místo: Ostrava/Krmelín
Příspěvky: 1012
Pozice: VŠB - TU Ostrava
Reputace:   23 
Web
 

Re: [ěžká hádanka] - prelevani vody

↑ warchief:Systematické řešení je (třeba) pomocí tzv. stavového grafu.
Sestavíme všechny přípustné stavy a orientovanou (případně neorientovanou) hranou spojíme ty, mezi kterými existuje přelití podle pravidel.
Ve výsledném grafu hledáme nejkratší orientovanou cestu z výchozího do požadovaného stavu. Pěkně se to programuje.

Poznámka: Existuje i konstrukce řešení pomocí tzv. barycentrických souřadnic, ale to už je nad rámec, neboť pro 5 nádob bychom pracovali v pětirozměrném prostoru a pěkně kreslit se to stejně nedá.

Offline

 

#9 23. 06. 2010 11:22

Olin
Místo: Brno / Praha
Příspěvky: 2823
Reputace:   81 
 

Re: [ěžká hádanka] - prelevani vody

Strojově nalezené řešení - průchodem do šířky, tedy nejkratší.


Matematika = královna věd. Analýza = královna matematiky. (Teorie množin = bohatství matematiky.)
MKS Náboj iKS

Offline

 

#10 23. 06. 2010 11:48

warchief
Zelenáč
Příspěvky: 6
Reputace:   
 

Re: [ěžká hádanka] - prelevani vody

Diky moc ;)

Offline

 

#11 02. 07. 2010 21:16

warchief
Zelenáč
Příspěvky: 6
Reputace:   
 

Re: [ěžká hádanka] - prelevani vody

Existuje nejake obecne reseni pro 5 nadob, ktere nepouziva algoritmy ( v programovani se moc nevyznam ) ?

Offline

 

#12 06. 01. 2011 21:56

fofo
Příspěvky: 26
Reputace:   
 

Re: [ěžká hádanka] - prelevani vody

Měl bych tady něco z podobného soudku:)
Máme nádoby o objemu 10, 6, 9, 3 a 10 litru. Ty dvě desetilitrové jsou plné. A musíme docílit aby v nádobách bylo 5, 5, 5, 3 a 2litrů(přesně v tomto pořadí. Minimální počet má být 13 přelití, ale myslím že to není důležité.
Mám podobný problém jako Warchief:(

Offline

 

#13 07. 01. 2011 23:13

fofo
Příspěvky: 26
Reputace:   
 

Re: [ěžká hádanka] - prelevani vody

Tak jsem zkoušel ten průchod do šířky-zjistit co to je, jak se s tím pracuje a jestli to dokážu sám od sebe pochopit a řeknu vám je to teda mazec.
Olin psal že to našel strojově, může mě někdo navést co to je za "stroj"?
Díky.

Offline

 

#14 08. 01. 2011 00:38

Olin
Místo: Brno / Praha
Příspěvky: 2823
Reputace:   81 
 

Re: [ěžká hádanka] - prelevani vody

To "strojové řešení" znamená, že jsem to naprogramoval - konkrétně v Delphi. Takto vypadal zdroják, asi to není úplně nejelegantnější, ale psal jsem to tehdy zřejmě docela narychlo.

Code:

program sudy;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  Classes,
  Contnrs;

type TPole = array[1..4] of Byte;
     TStav = class
       H: TPole;
       Cesta: String;
     end;

const Kap: TPole = (10, 7, 7, 4);

var F: TObjectQueue;
    Pom, Pom2: TStav;
    Pole: TPole;
    i, j: Integer;
    Bylo: array[0..10, 0..7, 0..7, 0..4] of Boolean;

begin
  F := TObjectQueue.Create;
  Pom := TStav.Create;
  Bylo[10, 0, 7, 0] := true;
  Pom.H[1] := 10;
  Pom.H[3] := 7;
  F.Push(Pom);
  while F.AtLeast(1) do begin
    Pom := F.Pop as TStav;
    if (Pom.H[1] = 10) and (Pom.H[2] = 2) and (Pom.H[3] = 2) and (Pom.H[4] = 3) then begin
      WriteLn(Pom.Cesta);
      Break;
    end else for i := 1 to 4 do for j := 1 to 4 do
     if (i <> j) and (Pom.H[i] > 0) and (Pom.H[j] < Kap[j]) then begin
      Pole := Pom.H;
      if Pole[i] > (Kap[j] - Pole[j]) then begin
        Pole[j] := Kap[j];
        Pole[i] := Pom.H[i] + Pom.H[j] - Kap[j];
      end else begin
        Pole[j] := Pom.H[i] + Pom.H[j];
        Pole[i] := 0;
      end;
      if not Bylo[Pole[1], Pole[2], Pole[3], Pole[4]] then begin
        Bylo[Pole[1], Pole[2], Pole[3], Pole[4]] := true;
        Pom2 := TStav.Create;
        Pom2.Cesta := Pom.Cesta + ' ' + IntToStr(i) + IntToStr(j);
        Pom2.H := Pole;
        F.Push(Pom2);
      end;
    end;
    Pom.Free;
  end;
  ReadLn;
end.

Matematika = královna věd. Analýza = královna matematiky. (Teorie množin = bohatství matematiky.)
MKS Náboj iKS

Offline

 

#15 08. 01. 2011 09:59

fofo
Příspěvky: 26
Reputace:   
 

Re: [ěžká hádanka] - prelevani vody

Olin-Díky. Toho jsem se bál(v tom se vůbec nevyznám).
Možná by to šlo na to aplikovat kdybych trochu změnil zadání: Do první 10l nádoby zvládnu těch 5l dostat v pohodě takže bysme ji mohli "vyřadit", protože si myslím že se do dalšího kombinování hodí nejméně. Takže by nám zbylo toto: nádoby o objemu 6,9,3 a 10l ve kterých je 6,9,0 a 0l vody a musíme dostat výsledek 5,5,3 a 2l vody(přesně v tomto pořadí).
Mohl bys to zkusit?
Díky:)

Offline

 

#16 08. 01. 2011 11:07 — Editoval Cheop (08. 01. 2011 11:19)

Cheop
Místo: okres Svitavy
Příspěvky: 8209
Škola: PEF VŠZ Brno (1979)
Pozice: důchodce
Reputace:   366 
 

Re: [ěžká hádanka] - prelevani vody

↑ fofo:
Z    10    0    0    0    10
================
1)    4    6     0    0    10
2)    4    6     9    0     1
3)    1    6     9    3     1
4)    0    6     9    3     2
5)    6    0     9    3     2
6)    6    6     3    3     2
7)   10   2     3    3     2
8)   10   0     5    3     2
9)   10   3     5    0     2
10)  7    3     5    3     2
11)  7    5     5    3     0
12)  5    5     5    3     2

Hotovo
PS  Je to tedy na 12 přelévání - ty píšeš, že minimální počet je 13.
Když to kontroliji, pak v mém postupu chybu nikde nevidím.


Nikdo není dokonalý

Offline

 

#17 08. 01. 2011 11:21 — Editoval fofo (08. 01. 2011 12:32)

fofo
Příspěvky: 26
Reputace:   
 

Re: [ěžká hádanka] - prelevani vody

cheop-skoro:)
v tom 12.kroku nemůžeš přelít poslední dva litry z první nádoby(ve které máš 7l) do poslední(ve které není nic) která je desetilitrová.
Doufám že si rozumíme;-)

Offline

 

#18 08. 01. 2011 11:29 — Editoval Cheop (08. 01. 2011 11:36)

Cheop
Místo: okres Svitavy
Příspěvky: 8209
Škola: PEF VŠZ Brno (1979)
Pozice: důchodce
Reputace:   366 
 

Re: [ěžká hádanka] - prelevani vody

↑ fofo:
Jo rozumíme si. Máš pravdu.
Já v té euforii zapomněl, že není 2-litrová, ale desetilitrová.


Nikdo není dokonalý

Offline

 

#19 09. 01. 2011 22:32

fofo
Příspěvky: 26
Reputace:   
 

Re: [ěžká hádanka] - prelevani vody

Tak jsem si stáhnul Delphi jak psal Olin ale nějak se mi ten zdroják nepodařilo rozchodit. Furt nějaký error...(na tohle jsem fakt lama)
Tak kdybyste to někdo zkusil tak bych byl vděčný;-)

Offline

 

#20 10. 01. 2011 09:21

Honzc
Příspěvky: 4549
Reputace:   241 
 

Re: [ěžká hádanka] - prelevani vody

↑ fofo:
A co takto:
       1     2    3    4     5      z  do
Z    10    0    0    0    10
=====================
1)    4    6     0    0    10     1   2
2)    4    6     9    0     1      5   3
3)    4    6     9    1     0      5   4
4)    4    0     9    1     6      2   5
5)    0    4     9    1     6      1   2
6)    0    4     5    1    10     3   5
7)    0    6     5    1     8      5   2
8)    6    0     5    1     2      2   1
9)    6    6     5    0     2      5   2
10) 10   2     5    1     2       2   1
11)  8    2     5    3     2       1   4
12)  8    5     5    0     2       4   2
13)  5    5     5    3     2       1   4

Offline

 

#21 10. 01. 2011 09:42

fofo
Příspěvky: 26
Reputace:   
 

Re: [ěžká hádanka] - prelevani vody

↑ Honzc:
Super. Je to správně:) Tos udělal s tím programem nebo jenom tak z hlavy? V každém případě jsi borec!

Offline

 

#22 11. 01. 2011 18:31

fofo
Příspěvky: 26
Reputace:   
 

Re: [ěžká hádanka] - prelevani vody

Když vám to tak hezky jde tak něco složitějšího:)
máme nádoby o objemu 10,6,9,9 a 10l ve kterých je 10,0,0,0 a 10l a máme dostal objemy 8,2,0,2 a 8l (v tomto pořadí)
minimum je 16 přelití(ale netrvám na tom)
tak s chutí do toho;)

Offline

 

#23 12. 01. 2011 10:33 — Editoval Honzc (12. 01. 2011 10:36)

Honzc
Příspěvky: 4549
Reputace:   241 
 

Re: [ěžká hádanka] - prelevani vody

↑ fofo:
Co takhle:
p.c.n           1   2   3   4   5
--------------------------------
objem       10   6   9   9  10
zac  z-do   10   0   0   0  10
--------------------------------
  1.   1-2     4   6   0   0  10
  2.   5-3     4   6   9   0    1
  3.   5-4     4   6   9   1    0
  4.   2-5     4   0   9   1    6
  5.   1-2     0   4   9   1    6
  6.   3-2     0   6   7   1    6
  7.   2-5     0   2   7   1  10
  8.   5-4     0   2   7   9    2
  9.   4-1     9   2   7   0    2
10.   2-4     9   0   7   2    2
11.   1-2     3   6   7   2    2
12.   2-3     3   4   9   2    2
13.   3-1   10   4   2   2    2
14.   1-2     8   6   2   2    2
15.   2-5     8   0   2   2    8
16.   3-2     8   2   0   2    8

Offline

 

#24 12. 01. 2011 11:36

fofo
Příspěvky: 26
Reputace:   
 

Re: [ěžká hádanka] - prelevani vody

↑ Honzc:
Opět správně:) Jsi fakt dobrej;)

Offline

 

#25 13. 01. 2011 09:36

fofo
Příspěvky: 26
Reputace:   
 

Re: [ěžká hádanka] - prelevani vody

Pro velký úspěch ještě jedna: Máme nádoby o objemu 9,9,7,5 a 7l ve kterých je 9,9,0,0 a 0l vody a musíme dostat 3,3,1,4 a 7l vody.
Minimum je 17 přelití;)

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson