Byla vydána verze 4.2 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Využíván je Free Pascal Compiler (FPC) 3.2.2.
Anton Carniaux, právní zástupce Microsoft France, pod přísahou: Microsoft nemůže garantovat, že data z EU nepředá do USA bez EU souhlasu, musí dodržovat americké zákony.
Byl vydán Mozilla Firefox 141.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Lokální AI umí uspořádat podobné panely do skupin. Firefox na Linuxu využívá méně paměti. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 141 je již k dispozici také na Flathubu a Snapcraftu.
NÚKIB upozorňuje na kritickou zranitelnost v SharePointu. Jedná se o kritickou zranitelnost typu RCE (remote code execution) – CVE-2025-53770, která umožňuje neautentizovaný vzdálený přístup a spuštění kódu, což může vést k úplnému převzetí kontroly nad serverem. Zranitelné verze jsou pouze on-premise verze a to konkrétně SharePoint Server 2016, 2019 a Subscription Edition. SharePoint Online (Microsoft 365) není touto zranitelností ohrožen.
Společnost Valve zpřísnila pravidla pro obsah, který je možné distribuovat ve službě Steam. Současně řadu her ze Steamu odstranila. V zásadách a pravidlech přibylo omezení 15: Obsah, který by mohl porušovat pravidla a normy stanovené zpracovateli plateb a souvisejícími sítěmi platebních karet a bankami nebo poskytovateli připojení k internetu. Sem spadají zejména určité druhy obsahu pouze pro dospělé.
Dle analytics.usa.gov je za posledních 90 dnů 6,2 % přístupů k webových stránkám a aplikacím federální vlády Spojených států z Linuxu.
Jak si zobrazit pomocí Chrome a na Chromiu založených webových prohlížečích stránky s neplatným certifikátem? Stačí napsat thisisunsafe.
V repozitáři AUR (Arch User Repository) linuxové distribuce Arch Linux byly nalezeny a odstraněny tři balíčky s malwarem. Jedná se o librewolf-fix-bin, firefox-patch-bin a zen-browser-patched-bin.
Dle plánu by Debian 13 s kódovým názvem Trixie měl vyjít v sobotu 9. srpna.
Vývoj linuxové distribuce Clear Linux (Wikipedie) vyvíjené společností Intel a optimalizováné pro jejich procesory byl oficiálně ukončen.
Zadání: V internetovém obchode je možno zakoupit zboží v různých baleních za různou cenu. např. bal1 (1ks, 20kč/ks) bal2 (5ks, 18kč/ks) bal3 (10ks, 19kč/ks) bal4 (50ks, 17kč/ks)
Zákazník požaduje např 78ks zboží a program by měl optimální počty balení vložit do košíku, aby to pro zázaníka bylo cenově nejvýhodnější.
Takže v tomto případě 1*bal4, 5*bal2, 3*bal1.
Napadá vás jiné řešení než zkoušet všechny možné kombinace a poté vyhodnotit která je nejvýhodnější.
Díky.Řešení dotazu:
78 / 50 = 1 (28)/ 5 = 5 (3) / 10 = 0 (3) / 1 = 3 (0)
bal1 (1ks, 100kč/ks) bal2 (7ks, 10kč/ks) bal3 (20ks 9kč/ks) a zákazník požaduje 21ks
dle tohoto by vyšlo 1*bal3 + 1*bal1 výsledná cena 280kč
správně by mělo být 3*bal2 výsledná cena 210kč
K
je požadovaný počet kusů. Na vstupu jsou dvojice (počet kusů v balení, cena balení).
Inicializace: Udělám pole arr
indexované čísly 1..K
, kde i
-tý prvek pole
je roven nejnižší ceně za balení s i
kusy, pokud takové balení neexistuje, je tam nekonečno.
n
-tý krok algoritmu: Prvky 1..n-1
se už nezmění a obsahují optimální cenu za dané počty kusů. Nyní spočítáme optimální cenu za n
kusů. M
je minimum hodnot arr[i] + arr[n-i]
přes všechna i=1..n-1
. Nejnižší cena za n
kusů je arr[n] <- min(M, arr[n])
.
přes všechna i=1..n-1
stačí přes všechna i=1..(n-1 div 2)
jestli se nepletu
class Variation { var $pieces_arr=array(); var $prices_arr=array(); var $sum_count=0; var $sum_price=0; function Variation() { } function setPieces($type, $count, $price){ $this->pieces_arr[$type] = $count; $this->prices_arr[$type] = $count*$price; $this->sum_count = array_sum($this->pieces_arr); $this->sum_price = array_sum($this->prices_arr); } } class VariationSolver { var $itemsArr = array(); var $reqCount = 0; var $BestVar; function VariationSolver() { $this->BestVar = null; } function setRequestedCount($count){ $this->reqCount = $count; } function addVariationItem($type, $piece, $price){ $this->itemsArr[] = array($type, $piece, $price); } function compute($level, $VarObj){ $max_level = sizeof($this->itemsArr)-1; $increment = $this->itemsArr[$level][1]; for ($i = 0; $i==0 || ($i <= $this->reqCount && ($VarObj->sum_count+$increment)<=$this->reqCount) ; $i=$i+$increment) { $VarObj->setPieces($this->itemsArr[$level][0], $i, $this->itemsArr[$level][2]); if ($max_level>$level){ $this->compute($level+1, $VarObj); } else { if ($VarObj->sum_count==$this->reqCount){ if ($this->BestVar == null || $VarObj->sum_price < $this->BestVar->sum_price){ $this->BestVar = $VarObj; } } } } } function getBestVar(){ //slow $this->BestVar = null; if (sizeof($this->itemsArr)>0){ $this->compute(0, new Variation()); } return $this->BestVar; } } //==== Vypocet ==== $VS = new VariationSolver(); $VS->setRequestedCount(100); $VS->addVariationItem("N",1,100); // typ baleni, pocet kusu v baleni, cena za kus $VS->addVariationItem("B",2,95); // typ baleni, pocet kusu v baleni, cena za kus $VS->addVariationItem("A1",5,90); // typ baleni, pocet kusu v baleni, cena za kus $VS->addVariationItem("D",10,98); // typ baleni, pocet kusu v baleni, cena za kus $VS->addVariationItem("IC1",20,81); // typ baleni, pocet kusu v baleni, cena za kus $VS->addVariationItem("IC2",50,80); // typ baleni, pocet kusu v baleni, cena za kus print_r( $VS->getBestVar() );
Tiskni
Sdílej: