Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Rozdelenie cisla na zaklade "levelu"

Ahoj poradaci,

rad by som sa spytal ci by ste mi vedeli pomoct s nasledovnym problemikom

mam cislo napr 40 a chcem ho rozdelit bez zbytku medzi ludi na zaklade aky vysoky level maju.

napr.

Janko level 1
Edo level 3
Ivan level 5
Eva level 6
Jozko level 2

spulu to mam 1+3+5+6+2=17
vypocitame "zakladnu jednotku" 40/17=2,3 (zaokruhlime na 2 - musi by cele cislo)
a rozdelime medzi ludi
Janko level 1, 1x2 =2
Edo level 3, 3x2 = 6
Ivan level 5, 5x2 = 10
Eva level 6, 6x2 = 12
Jozko level 2, 2x2 = 4

spolu to mame 34.
ostalo 6 a to rozdelit podla vysky levelu medzi ucastnikov :)
(zakladene cislo, pocet ucastnikov a vysky levelu sa menia)
Potrebujem to pre jednu perlovu funkciu len neviem prist na to ako to spravne vyriesit.

Dakujem pekne

Předmět Autor Datum
Sice nechápu, o co se přesně jedná, ale nešlo by to takhle? 40/17=2,35294117647 level 1 = 2,3529411…
JoPe 24.11.2013 23:46
JoPe
souhlas, až na to druhé dělení. Správněji bych to dělil mezi ty, kdo měli největší podíl, tj. level…
touchwood 25.11.2013 06:59
touchwood
Najviac postihnuti zaokruhlenim boli ti ktori mali najvyssiu desatinnu cast, ptz zaokruhlovalo sa na…
MM.. 25.11.2013 10:01
MM..
nedočetl jsem :-) (jako obvykle) :-)
touchwood 25.11.2013 11:06
touchwood
Dakujem pekne vsetkym zucastnemi za vyriesenie mojho problemu :) poslední
eth4rendil 25.11.2013 11:08
eth4rendil
Podle mě je to aplikace klasického váženého průměru. Kdybys nezaokrouhloval koeficient váženého prů…
touchwood 25.11.2013 06:54
touchwood

Sice nechápu, o co se přesně jedná, ale nešlo by to takhle?

40/17=2,35294117647
level 1 = 2,35294117647
Level 3 = 7,05882352941
Level 5 = 11,7647058823
Level 6 = 14,1176470588
Level 2 = 4,70588235294
Teprve pak zaokrouhlit na celá čísla (ne matematicky, ale směrem dolů):
Level 1 = 2
Level 3 = 7
Level 5 = 11
Level 6 = 14
Level 2 = 4
Udělat součet 2+7+11+14+4=38
a zbytek (40-38=2) přidělit těm, kdo měl nejvyšší desetinné části (až do jeho vyčerpání) takže v tomto případě
Level 5 (0,7647058823) a Level 2 (0,70588235294) zvýšit o 1.
Výsledek pak bude:
Level 1 = 2
Level 3 = 7
Level 5 = 12
Level 6 = 14
Level 2 = 5

souhlas, až na to druhé dělení. Správněji bych to dělil mezi ty, kdo měli největší podíl, tj. level 5 a 6. Nebo alternativně mezi ty, kdo byli nejvíce postiženi zaokrouhlením (tj. desetinná část co nejblíže 0,49), tj. level 1 a 6.

Podle mě je to aplikace klasického váženého průměru.

Kdybys nezaokrouhloval koeficient váženého průměru na 2 (ale ponechal jej co nejpřesnější) a naopak zaokrouhloval až konečný výpočet rozdělení, tak ti zbude maximálně jedna nerozdělená jednotka.

edit: až teď jsem si všiml JoPeho příspěvku, který je totožný s tím mým :-)

Zpět do poradny Odpovědět na původní otázku Nahoru