|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Bannato
Iscritto dal: Mar 2007
Messaggi: 35
|
[C] calcolo potenza con costo log(n) anzichè n
salve ragazzi, non riesco a creare un algoritmo che calcoli una potenza del tipo x^y con un costo log(n) anziché n; quest' ultimo caso è banale e sono riuscito a farlo con il normale prodotto
|
|
|
|
|
|
#2 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
assumo che l'esponente sia un naturale (coi reali non so neanche come si fa...).
il concetto di base è: devi elevare 2 alla quarta? inutile fare 3 prodotti, ovvero 2 * 2 * 2 * 2, poiché ne bastano solo 2: 2 * 2 = 4, 4 * 4 = 16. da questo spunto lascio continuare te |
|
|
|
|
|
#3 | |
|
Bannato
Iscritto dal: Mar 2007
Messaggi: 35
|
Quote:
poi tu fai 4*4 ma quest'ultimo 4 deriverà pure da un altro prodotto(cioè da 2*2) o no? sbaglio io? |
|
|
|
|
|
|
#4 |
|
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16211
|
Altro aiutino: se usi gli operatori bit-a-bit, te la cavi in tempo O(log n) e spazio O(1).
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu |
|
|
|
|
|
#5 |
|
Bannato
Iscritto dal: Mar 2007
Messaggi: 35
|
|
|
|
|
|
|
#6 |
|
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16211
|
Cerca sul Kernighan&Ritchie.
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu |
|
|
|
|
|
#7 | |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
![]() 1) moltiplica 2 * 2 2) ottieni 4 3) moltiplica 4 * 4 ora tutto sta a generalizzare un algoritmo. |
|
|
|
|
|
|
#8 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
altro suggerimento: dove c'è logaritmo c'è albero. prova a rappresentare l'elevamento a potenza come una serie di moltiplicazioni e ad ordinare tali moltiplicazioni in un albero binario. ovviamente non sempre l'albero sarà completo perché capiteranno anche gli esponenti che non sono potenza di due, ma i casi particolari verranno dopo. inizialmente prova ad assumere che l'esponente sia una potenza di due (1, 2, 4, 8, 16, 32...).
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Altro aiutino aiutino: si vuole per esempio calcolare 5^13 che, per la cronaca, fa 1220703125.
Come si rappresenta 13 in binario? Con 1101 Quindi 5^13 lo puoi esprimere come: 5^8 * 5^4 * 5^1 Quindi ti basta calcolare: 5^1 = 5 5^2 = 25 <--- non lo usi 5^4 = 625 5^8 = 390625 Quindi moltiplichi 5 * 625 * 390625.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
#10 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
aiutino de che, che gliel'hai detto ormai
edit - però non è lo stesso sistema ![]() hm, hm, hm, interessante quest'altro metodo Ultima modifica di 71104 : 18-05-2007 alle 12:49. |
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Beh, gli ho solo fatto un esempio ... mica scritto il codice per intero!
Tocca a lui generalizzare la cosa e scrivere del codice per implementare l'algoritmo. Tu quale altro metodo avevi in mente? .... giusto per sapere.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
#12 | |
|
Member
Iscritto dal: May 2007
Messaggi: 267
|
Quote:
PS. sono sempre io ma bannato per sbaglio |
|
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Feb 2005
Città: • • • • Palermo • • • • Spero che qualcuno capisca che a volte è meglio mettersi nei panni degli altri prima di giudicare...e tu lo sai che mi riferisco a te ;)
Messaggi: 20951
|
__________________
Perchè spedire con PosteItaliane? Ti offrono: prezzi esorbitanti, ritardi di consegna e un assistenza che fa davvero pena...io passo e tu?
Vendo: Accessori PSP * Ricambi per notebook * Alimentatore per Notebook ACER ASPIRE Series * Sc. Video nVidia GeForce 9300m GS 512Mb MXM * Sc. Video ATI Radeon HD3650 256Mb DDR3 MXM II |
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
È log2(n), se non sbaglio.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
#15 |
|
Member
Iscritto dal: May 2007
Messaggi: 267
|
il problema è che devo risolverlo con qualcosa inerente gli algoritmi di ordinamento
quindi non so come strutturarlo |
|
|
|
|
|
#16 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#17 |
|
Member
Iscritto dal: May 2007
Messaggi: 267
|
perché a lezione il professore ci ha assegnato questo esercizio 2 secondi dopo aver spiegato gli algoritmi di ordinamento e la ricerca binaria
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:00.






















