Calcolare il logaritmo con addizione, sottrazione, mol e div

Programmazione, algoritmica, teoria dell'informazione, ...
Rispondi
Joker87
Messaggi: 61
Iscritto il: 01 dic 2006, 15:00

Calcolare il logaritmo con addizione, sottrazione, mol e div

Messaggio da Joker87 »

Ciao, come fareste voi per trovare il logaritmo di un numero avendo a disposizione soltanto addizione, sottrazione, moltiplicazione, divisione?

devo fare un programma che faccia questo

grazie

ciao
Joker87
Messaggi: 61
Iscritto il: 01 dic 2006, 15:00

Messaggio da Joker87 »

in pratica è questo:

Dati due valori x appartenente a Z+ con x>=2 e y appartenente a Z+U{0}. Calcolare il logaritmo intero di y in base x utilizzando solamente le operazioni elementari necessarie.
logxy=b
Joker87
Messaggi: 61
Iscritto il: 01 dic 2006, 15:00

Messaggio da Joker87 »

non ci credo che non ci riuscite :D
pic88
Messaggi: 741
Iscritto il: 16 apr 2006, 11:34
Località: La terra, il cui produr di rose, le dié piacevol nome in greche voci...

Messaggio da pic88 »

cos'è il logartimo intero?
se è la parte intera del logaritmo è facile, eleva x alla n dando a n valori interi (positivi o negativi a seconda dei casi) tante volte finchè il risulatato è minore o uguale a y.
Joker87
Messaggi: 61
Iscritto il: 01 dic 2006, 15:00

Messaggio da Joker87 »

guard, non lo cosa vuol dire, forse per i numeri interi?

bo, avrò detto una cazzata :D

comq per calcolarlo devo usale solo ADDIZIONE, SOTTRAZIONE, MOLTIPLICAZIONE E DIVISIONE
Joker87
Messaggi: 61
Iscritto il: 01 dic 2006, 15:00

Messaggio da Joker87 »

qualcuno mi ha detto di moltiplicare x per se stessa finche non diventa maggiore di y e incrementare ogni volta un contatore posto inizialmente a 0

è giusto?

ho provato a farlo ma mi da un risultato sbagliato, per esempio ponendo x=2 e y=10 mi da 1 invece di 3
MindFlyer

Messaggio da MindFlyer »

Spostato.
Ora spammate pure. :P
Avatar utente
SkZ
Messaggi: 3333
Iscritto il: 03 ago 2006, 21:02
Località: Concepcion, Chile
Contatta:

Messaggio da SkZ »

All'incirca per la mantissa

Codice: Seleziona tutto

if (x<1) y=1/y, x=1/x;
if(y>=1)
  for(i=0, a=y; a>x; a/=x, i++);
else 
  for(i=0, a=y; a<x; a*=x, i--);
impara il [tex]~\LaTeX[/tex] e mettilo da par[tex]\TeX~[/tex]

Software is like sex: it's better when it's free (Linus T.)
membro: Club Nostalgici
Non essere egoista, dona anche tu! http://fpv.hacknight.org/a8.php
Avatar utente
rand
Messaggi: 109
Iscritto il: 29 ott 2006, 01:11
Località: Vedi avatar

Messaggio da rand »

La cosa interessante del calcolo $ \lfloor log_{2}(x) \rfloor $ è che si può fare usando un numero costante di operazioni logico-aritmetiche (addizione, moltiplicazione, shift, and, not), trovarle è un'impresa!
Rispondi