pomoc s sqrt a log
-
caesar1987
Addict
- Príspevky: 3001
- Registrovaný: 02 okt 2005, 0:57
- Bydlisko: Nové Zámky
- Kontaktovať používateľa:
pomoc s sqrt a log
vedeli by ste miekto pomoct s tymito zadaniami???
1. odmocnina - uz hotove
2. Vašou úlohou je naprogramovať funkciu Logaritmus, ktorá bude fungovať nasledovne:
* na vstupe budú dve kladné celé čísla
* prvé číslo zo vstupu predstavuje základ logaritmu
* druhé číslo zo vstupu predstavuje argument logaritmu
* výstupom bude celá horná časť hodnoty logaritmu, ktorý ma daný základ a argument (teda tiež celé kladné číslo) . Ak napr. na vstupe bude 2,8 výstupom bude 3, pri 3,81 bude výstupom 4, pri 10,100000 bude výstupom 5, pri 2,9 bude výstupom 4, pri 3,4 bude výstupom 2, pri 10, 10001 bude výstupom 5 ...)
* pri riešení môžete používať len cykly, operácie sčítania a odčítania a minimálny počet lokálnych premenných
* nemôžete používať operácie násobenia, delenia, externé ani vlastné funkcie, procedúry, ...
1. odmocnina - uz hotove
2. Vašou úlohou je naprogramovať funkciu Logaritmus, ktorá bude fungovať nasledovne:
* na vstupe budú dve kladné celé čísla
* prvé číslo zo vstupu predstavuje základ logaritmu
* druhé číslo zo vstupu predstavuje argument logaritmu
* výstupom bude celá horná časť hodnoty logaritmu, ktorý ma daný základ a argument (teda tiež celé kladné číslo) . Ak napr. na vstupe bude 2,8 výstupom bude 3, pri 3,81 bude výstupom 4, pri 10,100000 bude výstupom 5, pri 2,9 bude výstupom 4, pri 3,4 bude výstupom 2, pri 10, 10001 bude výstupom 5 ...)
* pri riešení môžete používať len cykly, operácie sčítania a odčítania a minimálny počet lokálnych premenných
* nemôžete používať operácie násobenia, delenia, externé ani vlastné funkcie, procedúry, ...
Re: pomoc s sqrt a log
Predpokladam, ze ak by si mohol pouzit operacie nasobenia, tak by si to vedel spravit. (vyuzil by si inverznu funkciu k logaritmickej funkcii - exponencialnu funkciu). Kedze ale nemozes pouzit nasobenie, tak si ho skus "umelo" vytvorit. (myslim ze vnorenym cyklom, kde by sa scitovalo, by to malo ist.)
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Urob si cyklus, ktorý bude robiť mocninu základu (pomocou súčtu, príkaz for).Celé to bude v cykle s neurčitým počtom opakovaní, kde na začiatok (alebo koniec podľa toho či použiješ while alebo repeat) dáš overenie či sa umocnený základ nerovná argumentu. Ak áno, vypíš počet prejdení cyklom s pevným počtom opakovaní, ak nie, pokračuj...
možno je to krkolomne opísané, ale treba si iba uvedomiť definíciu logartimu, ktorá je si takáto:
logaX=Y práve vtedy, keď a^Y=X
Ty hladáš Y, teda mocninu daného základu a keďže mocninu robíš cez cyklus, musíš počítať koľkokrát sa prevedie. To je teoria, keď som to skúšal nahodiť do zdrojáku, tak som sa zamotal.. možno budeš mať viac šťastia.
možno je to krkolomne opísané, ale treba si iba uvedomiť definíciu logartimu, ktorá je si takáto:
logaX=Y práve vtedy, keď a^Y=X
Ty hladáš Y, teda mocninu daného základu a keďže mocninu robíš cez cyklus, musíš počítať koľkokrát sa prevedie. To je teoria, keď som to skúšal nahodiť do zdrojáku, tak som sa zamotal.. možno budeš mať viac šťastia.
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
nie, ono sa to rovnať musí.. pozri si tú definíciu logaritmu čo som napísal.. (to čo ti vravíš plati iba v prípade, že nejde o celé čísla ale on vraví že sa budú dávať iba celé čísla, tak sa musia rovnať). Ja som sa zamotal pri dávani podmienky For I:=1 to xxx do .. Nevedol som nejak dosadiť hodnotu xxx. Lebo ak chceš napríklad 3^2 tak tam musíš dosadiť 3 (lebo sa 3 krát spočítava trojka). Pri 3^3 už musíš dosadiť buď 9 lebo sa spočítava 9 krát, potom 27.. A tak ďalej. Dosádzajú sa teda práve násobky základu, a tie si teda musíš zisťovať ďalším cyklom.. no šak vyskúšaj, rád si pozrem zdrojáky ale ja som nejak na to nemal náladu, tak som to vzdal
t0m4s3: unikol ti caesarov príspevok.. pozri si tie hodnoty čo dal ako príklad.. sú to pekné celé čísla čo aj z hlavy vyrátaš. On to dostal asi za úlohu, a profákovi ide práve o to, či to dokáže urobiť iba súčtom, lebo ak ma daný algortimus rátať každý logaritmus, tak sa iba so súčtom asi nehneš (alebo iba veľmi veľmi veľmi ťažko)
//edit: aha, sorry, zle som čítal.. tak vo mne je chyba
t0m4s3: unikol ti caesarov príspevok.. pozri si tie hodnoty čo dal ako príklad.. sú to pekné celé čísla čo aj z hlavy vyrátaš. On to dostal asi za úlohu, a profákovi ide práve o to, či to dokáže urobiť iba súčtom, lebo ak ma daný algortimus rátať každý logaritmus, tak sa iba so súčtom asi nehneš (alebo iba veľmi veľmi veľmi ťažko)
//edit: aha, sorry, zle som čítal.. tak vo mne je chyba
-
caesar1987
Addict
- Príspevky: 3001
- Registrovaný: 02 okt 2005, 0:57
- Bydlisko: Nové Zámky
- Kontaktovať používateľa:
neviem v akom programovacom jazyku to potrebujes, tak som to urobil v php ale myslim, ze by si nemal mat problem to prekodit do cokolvek ineho, pretoze som nepouzil ziadne speciality.
dufam, ze som zadanie pochopil spravne, ale podla tvojich vzorovych vypoctov to sedi.
good luck.
Kód: Vybrať všetko
$x = 10001; // argument log
$a = 10; // zaklad log
$i = 1;
$vys = $a;
while( $vys < $x )
{
$i++;
$docas = $vys;
$vys = 0;
for( $j=1; $j <= $a;$j++ )
$vys += $docas;
}
echo "vysledok: ".$i;good luck.
-
caesar1987
Addict
- Príspevky: 3001
- Registrovaný: 02 okt 2005, 0:57
- Bydlisko: Nové Zámky
- Kontaktovať používateľa: