Odmocnovani – Offtopic – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Odmocnovani – Offtopic – Fórum – Programujte.comOdmocnovani – Offtopic – Fórum – Programujte.com

 

18. 5. 2007   #1
-
0
-

Pomerne dlouho uz mne ve skole naznacuji, ze existuje i jiny algoritmus pro odmocnovani nez je "brute-force" metoda (2*2 neni 16; 3*3 neni 16; 4*4 je 16 -> odmocnina z 16 je tedy 4..) Chtel bych vedet, zda je to pravda, pripadne nejaky odkaz nebo vysvetleni.. TIA ;-)

Nahlásit jako SPAM
IP: ...–
Jura_0
Stálý člen
18. 5. 2007   #2
-
0
-

Pokud s nepletu, tak se na to třeba používá Newtonova iterační metoda

Nahlásit jako SPAM
IP: ...–
Jan Škrášek
~ Redaktor
+1
Boss
19. 5. 2007   #3
-
0
-

Heronova metoda: velmi jednoducha a ucinna:
- $o = cislo od ktereho chceme odmocninu
- $x = tolerance (napr. 0.000001)
postup:



$a = $o;
$b = 1;
while($a-$b>$x) {
$a = ($a+$b)/2;
$b = $o/$a;
}

echo "odmocnina z $o je $a";


Nahlásit jako SPAM
IP: ...–
http://jan.skrasek.com@hrachcz – webdeveloper
Jakub Vojáček
~ Moderátor
0
Grafoman
19. 5. 2007   #4
-
0
-

ale něco mi řiká že tohle ve škole moc nevyužiju... Jedině snad procházet si v hlavě každej cyklus...

Nahlásit jako SPAM
IP: ...–
Navštivte server Matematika pro každého
Najdete zde články zabývající se matematikou základních a středních škol a databázi hlavolamů.
Pro vyzkoušení Vaš
retriwr0
Stálý člen
21. 5. 2007   #5
-
0
-

kdysi nás ve škole učili jak jde vypočítat 2.odmocninu z reálného čísla, sice si to už přesně nepomatuju, ale kdybyste to chtěli vědět, můžu to pohledat. V principu to bylo trochu podobné písemnému dělení, akorát se ta čísla berou po dvou a čím větší se požaduje přesnost, tím je to obtížnější, protože se zpětně pracuje s celým dosavadním výsledkem

Nahlásit jako SPAM
IP: ...–
You gotta do what you gotta do
BlackHole
~ Anonymní uživatel
7 příspěvků
21. 5. 2007   #6
-
0
-

No tak to zlogaritmuju, vynásobím správným zlomkem (pro druhou odmocninu vynásobím jednou polovinou, pro třetí odmocninu jednou třetinou) a odlogaritmuju :) Třeba v Turbo Pascalu se takhle musely počítat všechny mocniny a odmocniny, protože tam není funkce Power().

Nahlásit jako SPAM
IP: ...–
Jan Škrášek
~ Redaktor
+1
Boss
22. 5. 2007   #7
-
0
-

To Blujacker: to moc neni pravda... tak treba do 10 kroku mas dost solidni presnost... a tech 10 kroku mas za tri minuty ;-) vyzkousej ;-)

Nahlásit jako SPAM
IP: ...–
http://jan.skrasek.com@hrachcz – webdeveloper
svick0
Newbie
24. 5. 2007   #8
-
0
-

A co třeba rozklad na prvočísla?

Nahlásit jako SPAM
IP: ...–
Korespondenční seminář z programování pro středoškoláky - http://ksp.mff.cuni.cz
midin
~ Anonymní uživatel
320 příspěvků
24. 5. 2007   #9
-
0
-

To svick: Pro neprvočísla funguje dokonale :)

Nahlásit jako SPAM
IP: ...–
midin
~ Anonymní uživatel
320 příspěvků
24. 5. 2007   #10
-
0
-

To retriwr: Koukni na to :)
To BlackHole: Efektní.

Nahlásit jako SPAM
IP: ...–
retriwr0
Stálý člen
24. 5. 2007   #11
-
0
-

takže jsem to našel:
dané číslo se od desetinné čárky rozdělí po dvojicích doprava i doleva (napr 237,5 na 2'37,'50'00'..)
veme se první skupina zleva (2) a napíše se největší přirozená odmocnina z menšího čísla (takže od 2 1 (1^2=1), od 6 2 (2^2=4), nebo od 65 8 (8^2=64)), ta se napíše jako první cifra výsledku. Pod odmocňované číslo se napíše rozdíl mezi tímto číslem a první skupinou (u 237.5 je to 1) a připíše se za něj další skupina (-> 137) a pod výsledek se napíše dvojnásobek dosavadního výsledku (2), k němu se musí najít číslo, které se za něj připíše a ještě se to tím celé vynásobí, aby to bylo menší nebo rovno číslu vlevo (137) - tady je to 5 - 25*5 = 125 (< 137), toto číslo se napíše jako další cifra výsledku a pokračuje se stejným způsobem dál (pokud se dojde k desetinné čárce tak se samozžejmě napíše) - pod levé číslo (137) se napíše rozdíl čísel nad ním (137-125 = 12), připíše se další skupina (-> 1250), doprava se napíše dvojnásobek výsledku (30) a hledá se k němu číslo (4) - 304*4=1216 (< 1250), čtyřka se napše nahoru k výsledku a zase znovu...
takže po dalších několika krocích je výsledek sqrt(237.5)=15,411 - a podle kalkulačky 15,41103501

Nahlásit jako SPAM
IP: ...–
You gotta do what you gotta do
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 8 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý