Zadejte hledaný výraz...

PHP – jak na nejlepší možnou kombinaci?

Bojkas
verified
rating uzivatele
22. 7. 2015 14:59:50
Ahoj,
potřebuji poradit, jak dosáhnout nejlepší možné kombinace několika hodnot tak, aby dávali konkrétní číslo. Jedná se kalkulátor produktu.
Jeden produkt má kombinace hmosnotí
1kg
5kg
20kg
Zadám například číslo 27 a mělo by to spočítat, že nejlepší možná kombinace je
1x20kg
1x5kg
2x1kg
Případně po zadání čísla 50 by to mělo vyhodit
2x20kg
2x5kg
Napadá vás nějaký script, který by to mohl zvládnout?
22. 7. 2015 14:59:50
https://webtrh.cz/diskuse/php-jak-na-nejlepsi-moznou-kombinaci/#reply1128458
Petr Soukup
verified
rating uzivatele
(5 hodnocení)
22. 7. 2015 15:05:29
V principu je to stejná úloha, jako vracení mincí v automatu a to bývá hrozně času v různých příručkách. Zkusil bych googlit spíš to.
22. 7. 2015 15:05:29
https://webtrh.cz/diskuse/php-jak-na-nejlepsi-moznou-kombinaci/#reply1128457
azka
verified
rating uzivatele
(2 hodnocení)
22. 7. 2015 15:06:35
Napsal Bojkas;1211910
Zadám například číslo 27 a mělo by to spočítat, že nejlepší možná kombinace je
1x20kg
2x5kg
2x2kg
Todle dava 34, co to ma spolecnyho s 27?
Nechtel jsi spis 1x20kg, 1x5kg, 2x1kg? Pokud ano, tak google Frobenius number. http://mathworld.wolfram.com/CoinProblem.html
22. 7. 2015 15:06:35
https://webtrh.cz/diskuse/php-jak-na-nejlepsi-moznou-kombinaci/#reply1128456
Levin
verified
rating uzivatele
22. 7. 2015 15:20:20
Co takhle zkusit modulo dělení a postupně jít od nejvyššího k nejnižšímu?
22. 7. 2015 15:20:20
https://webtrh.cz/diskuse/php-jak-na-nejlepsi-moznou-kombinaci/#reply1128455
Bojkas
verified
rating uzivatele
22. 7. 2015 16:03:05
Měl sem tam opravdu chybu, má to být 1x20, 1x5 a 2x1. Každopádně díky za tip! Pomohly ty mince.
PHP Coins Change: Solve the coin change problem for a given amount - PHP Classes
Děkuji
22. 7. 2015 16:03:05
https://webtrh.cz/diskuse/php-jak-na-nejlepsi-moznou-kombinaci/#reply1128454
David Musil
verified
rating uzivatele
(69 hodnocení)
22. 7. 2015 16:29:17
Uplne jsem si vybavil, kdyz jsem presne ulohu s bankovkami a mincemi psal na CVUT v JAVE jako semestralku :)
Nebylo to nic extra tezkeho.
22. 7. 2015 16:29:17
https://webtrh.cz/diskuse/php-jak-na-nejlepsi-moznou-kombinaci/#reply1128453
mat.m
verified
rating uzivatele
(2 hodnocení)
22. 7. 2015 16:33:58
ako hovori Levin pouzit modulo
vysledok by mala byt array v tvare
20 => 1
5 => 1
2 => 1
neskusal som to spustit ale tak mozes si to testnut sam popripade doladit
22. 7. 2015 16:33:58
https://webtrh.cz/diskuse/php-jak-na-nejlepsi-moznou-kombinaci/#reply1128452
Bojkas
verified
rating uzivatele
23. 7. 2015 07:29:24
mat.m: To snad nemůže ani fungovat, to co sem stáhl má kód o 200 řádcích. Co přesně z toho mám zaechovat? echo "
".$hodnota." x ".$vysledok;?
23. 7. 2015 07:29:24
https://webtrh.cz/diskuse/php-jak-na-nejlepsi-moznou-kombinaci/#reply1128451
tomas505
verified
rating uzivatele
(10 hodnocení)
23. 7. 2015 08:51:10
vrací array(3) { => int(7) => int(-3) => int(0) }
23. 7. 2015 08:51:10
https://webtrh.cz/diskuse/php-jak-na-nejlepsi-moznou-kombinaci/#reply1128450
Fido123
verified
rating uzivatele
(13 hodnocení)
23. 7. 2015 09:10:04
mat.m asi tímhle
myslel tohle
Operátor % je modulo (zbytek).
---------- Příspěvek doplněn 23.07.2015 v 09:16 ----------
A ještě bych před ten foreach cyklus pro jistotu přidal
23. 7. 2015 09:10:04
https://webtrh.cz/diskuse/php-jak-na-nejlepsi-moznou-kombinaci/#reply1128449
Bojkas
verified
rating uzivatele
23. 7. 2015 11:25:26
To je vážně naprosto neuvěřitelné! :-) děkuji pánové, opravdu to funguje ještě s úpravou od Fida.
Tak teď bych potřeboval ještě pomoct to použít v kódu, zatím se PHP učím.
Musím všechny ty hodnoty přidat do proměnných, abych tomu mohl určit kód produktu a množství.
Takže 20kg bude mít kód 1234, 5kg (5678) a 1kg (91011). Takže je teď pro mě asi nejdůležitější dostat hodnoty "množství" do konkrétních proměnných.
23. 7. 2015 11:25:26
https://webtrh.cz/diskuse/php-jak-na-nejlepsi-moznou-kombinaci/#reply1128448
mat.m
verified
rating uzivatele
(2 hodnocení)
23. 7. 2015 11:56:10
@Fido dik za opravu, proste som sa pomylil :P a @Bojkas, nie vzdy je pravidlo ze co ma 200 riadkov je efektivne ;)
23. 7. 2015 11:56:10
https://webtrh.cz/diskuse/php-jak-na-nejlepsi-moznou-kombinaci/#reply1128447
Bojkas
verified
rating uzivatele
23. 7. 2015 12:02:38
tak uz sem na to prisel.
$dvacka = $vysledok;
echo $dvacka;
Vyhodilo to pocet hodnoty 20 :-)
23. 7. 2015 12:02:38
https://webtrh.cz/diskuse/php-jak-na-nejlepsi-moznou-kombinaci/#reply1128446
tomas505
verified
rating uzivatele
(10 hodnocení)
23. 7. 2015 23:46:43
Jenom bych doporučil vypisovat to cyklem, ne takhle ručně. :)
23. 7. 2015 23:46:43
https://webtrh.cz/diskuse/php-jak-na-nejlepsi-moznou-kombinaci/#reply1128445
Pro odpověď se přihlašte.
Přihlásit