Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Algoritmus-linearni rovnice

Aktivity
Avatar
jan.vencl
Tvůrce
Avatar
jan.vencl:9.11.2012 8:18

Ahoj, řešim tu problém: Obecné řešení lineárních rovnic. Předem upozorňuji že vzoreček x=-b/a se mi nehodí. Nejdřív mě napadla aproximace, dosadit si čísla z jednotlivích řádů 1, 10, 100, 1000, 10000, 100000, 1000000...... jak pro kladná tak i záporná čísla. Potom najít řád kde rozdíl v absolutní hodnotě je nejmenší. a takhle "zužovat" až dojdu k přesnému číslu. A chci se zeptat 5ešil někdo podobnou situaci? a má nějaké efektivnější řešení?
Vstupem může být jakákoliv lineární rovnice:
400=x
3/100=x*5
(x+5)*(5-5)=0
děkuju za odpovědi

 
Odpovědět
9.11.2012 8:18
Avatar
TomBen
Tvůrce
Avatar
Odpovídá na jan.vencl
TomBen:9.11.2012 10:35

Proč se ti nehodí vzoreček?

Nahoru Odpovědět
9.11.2012 10:35
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
jan.vencl
Tvůrce
Avatar
jan.vencl:9.11.2012 11:35

představ si že máš v proměné: rovnice="4+4(x-5)=0"
a jak do proměné vysledek dostat: 4
vstup také může být 4x=100

 
Nahoru Odpovědět
9.11.2012 11:35
Avatar
TomBen
Tvůrce
Avatar
Odpovídá na jan.vencl
TomBen:9.11.2012 12:50

Hm, co třeba takhle:

a/ Srovnáš všechno na jednu stranu tak, že všechno za '=' dáš do závorky,
dopředu dáš mínus a dostaneš tvar 'výraz'=0
b/ve výrazu za x dosadíš 0, dostaneš čisté b
c/ve výrazu za x dosadíš 1, čisté b odečteš => dostaneš čisté a

Pak podle vzorce. Mělo by to fungovat asi pro všechny možnosti,
protože ax+b je pro x=0 čisté b a ax+b-b pro x=1 čisté a.

Nahoru Odpovědět
9.11.2012 12:50
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
jan.vencl
Tvůrce
Avatar
jan.vencl:9.11.2012 13:41

Děkuju moc !! Přemýšlel jsem nad rekurzivními funkcemi, derivacemi, dokonce něco jako Brute force ale to řešení bylo uplné geniální :) Fakt Cokoliv když budu vědět poradim úplně jsi mi zlepšil den :)

 
Nahoru Odpovědět
9.11.2012 13:41
Avatar
matesax
Tvůrce
Avatar
Odpovídá na jan.vencl
matesax:9.11.2012 13:42

Stačí převést rovnici do tvaru x = ... a pak můžeš x vypustit a provádět jen jeho výpočet. (A na to stačí pracovat obecně - šlo by to třeba vytvořením šablon vzorců...)

 
Nahoru Odpovědět
9.11.2012 13:42
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.