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 27. 03. 2021 17:36 — Editoval iwitrag (27. 03. 2021 17:40)

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

Optimalizovaná distribuce měny

Dobrý den,

dokázal by mi někdo pomoci s tímto problémem? Jedná se o matematickou záležitost, jejímž účelem je optimalizace IT algoritmu. Nemůžu na to však přijít.
Doufal jsem, že by se tu mohl objevit někdo, kdo by tomu dokázal přijít na kloub. Pro vás to asi nebude nic složitého, ale já jsem spíš zběhlý v algoritmizaci než v matematických postupech :)

Mějme jednoduchý bankovní systém, ve kterém vystupují tři osoby:

Adam (A), který má na účtu 6000.00 Kč
Břeťa (B), který má na účtu 3000.00 Kč
Cyril (C), který má na účtu 1000.00 Kč

Adam chce Břeťovi poslat 300.00 Kč, výsledek tedy je:
A = 5700.00 Kč
B = 3300.00 Kč
C = 1000.00 Kč

Banka, ve které mají tito tři chlapíci účty, je však velmi speciální.
Tato banka si strhne 1% z posílané částky a tuto částku distribuuje proporciálně mezi držitele finančních prostředků na účtech této banky systémem - kdo má více, ten i více dostane.

Z částky 300.00 Kč si tedy banka strhne 3.00 Kč.
Břeťa tedy nebude mít 3300.00 Kč ale pouze 3297.00 Kč.

Nyní se určí procentuální zastoupení částek jednotlivých držitelů financí v poměru k celku.
Celkem = 5700 + 3297 + 1000 = 9997.00 Kč
A = 5700.00 Kč = 57.017105 % z celku
B = 3297.00 Kč = 32.979894 % z celku
C = 1000.00 Kč = 10.003001 % z celku

A nyní se ty 3.00 Kč takto rozdistribuují.
A obdrží 1.710513 Kč
B obdrží 0.989397 Kč
C obdrží 0.300090 Kč
A nyní bude mít 5701.710513 Kč
B nyní bude mít 3297.989397 Kč
C nyní bude mít 1000.30009 Kč

A teď ten oříšek :)

Bankovní systémy této banky jsou velmi zastaralé a pomalé. Každá úprava finančního konta je náročná na technické prostředky.
Banka tedy potřebuje, aby se tato distribuce provedla automaticky a bez nutnosti procházet veškeré bankovní účty a nastavovat jejich zůstatky jeden po druhém.
Pro řešení je možné kromě zůstatku zavést ke každému účtu i novou proměnnou, případně i proměnné globální sdílené mezi všemi účty.
Důležité ovšem je, aby výpočet zůstatku vždy vracel správnou hodnotu.
Při provádění operace odeslání peněz z účtu na účet je možné upravovat pouze hodnoty asociované s těmito dvěma bankovními účty (a globální proměnné také).

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson