Forum » Loža » Matematično logični problem, rešitev?
Matematično logični problem, rešitev?
billy ::
Upam, da sodi tole sem, če ne, prosim da premaknete.
5 ljudi sedi za mizo, poljubno se vstajajo. Vsak stol ima svojo vrednost:
stol 1: 1
stol 2: 2
stol 3: 4
stol 4: 8
stol 5: 16
Znan je le seštevek vseh vrednosti ljudi, ki sedijo. Recimo 11, kar pomeni da sedijo ljudje na stolih 1, 2 in 4 ali pa: 26 -> 2, 8 in 16. Seštevek vrednosti velja le za točno en rezultat, ne more se zgoditi, da bi recimo sedeli na stolih 1 in 2 ali pa 3 in 4.
S uporabo katere formule lahko to zadevo avtomatiziramo? Torej da je rezultat množica zasedenih stolov ? Iščem torej formulo, ne da se za vse možnosti naredijo tabele, to bi bil predolg postopek v primeru večje mize :)
5 ljudi sedi za mizo, poljubno se vstajajo. Vsak stol ima svojo vrednost:
stol 1: 1
stol 2: 2
stol 3: 4
stol 4: 8
stol 5: 16
Znan je le seštevek vseh vrednosti ljudi, ki sedijo. Recimo 11, kar pomeni da sedijo ljudje na stolih 1, 2 in 4 ali pa: 26 -> 2, 8 in 16. Seštevek vrednosti velja le za točno en rezultat, ne more se zgoditi, da bi recimo sedeli na stolih 1 in 2 ali pa 3 in 4.
S uporabo katere formule lahko to zadevo avtomatiziramo? Torej da je rezultat množica zasedenih stolov ? Iščem torej formulo, ne da se za vse možnosti naredijo tabele, to bi bil predolg postopek v primeru večje mize :)
technolog ::
Greš od stola največje vrednosti navzdol.
recimo 26:
26-16 = 10, večje od 0, stol v16 zaseden
10-8 = 2, večje od 0, stol v8 zaseden
2-4=-2, manjše od 0, stol v4 NI zaseden
2-2=0, enako 0, stol 2 zaseden, končamo
(torej če naletiš na razliko 0, lahko kar takoj kočaš)
Programsko se da zadevo naredit zelo hitro z bitnimi operacijami.
recimo 26:
26-16 = 10, večje od 0, stol v16 zaseden
10-8 = 2, večje od 0, stol v8 zaseden
2-4=-2, manjše od 0, stol v4 NI zaseden
2-2=0, enako 0, stol 2 zaseden, končamo
(torej če naletiš na razliko 0, lahko kar takoj kočaš)
Programsko se da zadevo naredit zelo hitro z bitnimi operacijami.
Zgodovina sprememb…
- spremenil: technolog ()
technolog ::
int st=26; int i=1; while(st!=0) { if (st&1) cout << "Stol " << i << " je zaseden."; i++; st>>=1; }
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Kvaliteten računalniški stol za okrog 100€Oddelek: Loža | 7861 (6288) | Veron |
» | Nabava stolov - zelo poceni do le teh za st uporabnike! ;) (strani: 1 2 3 4 … 14 15 16 17 )Oddelek: Loža | 111237 (44682) | zcetrt |
» | Kateri stolOddelek: Loža | 4859 (405) | Saladin |
» | Kje kupiti stol za pred računalnikOddelek: Kaj kupiti | 1259 (1125) | orka |