Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2016
    Messaggi
    2

    [C++] elevare a numeri reali (senza libreria cmath)

    Ciao a tutti,

    l'elevamento a potenza,per numeri reali,l'ho scritto così:


    int pot ( int a, int b ){


    if(b==0) return 1;


    return a*pot(a,b-1);
    }

    e funziona.

    Ora vorrei creare un programma che mi permetta di calcolare le radici ennesime di un numero, quindi avevo pensato di fare semplicemente un elevamento a 1/3 (se parliamo di radice cubica).

    Tuttavia non basta cambiare int con double nell'algoritmo precedente (infatti c'è quel b-1 che non si presta bene ai numeri reali).

    Non so sinceramente come potrei modificare l'algoritmo, ci sto sbattendo la testa da ore

    Secondo voi cosa si potrebbe cambiare?

    Vi ringrazio tanto

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Puoi usare lo sviluppo in serie di McLaurin per il calcolo di (1 + x)α

    Ovviamente devi rivedere tutto il codice ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2016
    Messaggi
    2
    Mmm...ok...sarò stupida, ma non so bene come fare

    Ovviamente di somma infinita non se ne parla proprio,quindi mi fermo prima,decidendo io che approssimazione voglio.
    Ma mi viene 0 per una radice cubica di 27 !

    a=((k*(k-1)*(k-2)*(k-3)*(k-4)*(k-5))*pot(x,5))/fatt(5)

    è sbagliato scrivere così,se mi fermo al 5ordine?

    grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.