Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [C] Calcolo della radice con Newton-Raphson

    Devo scrivere un semplice programma C in cui applico il metodo di Newton-Raphson per il calcolo della radice quadrata.
    Devo usare un solo ciclo While o For senza chiamare funzioni.
    Il metodo di Newton-Raphson funziona in questo modo:
    F0 = 1,
    F1=(F0+x/F0)/2,...,F(i+1)=(Fi+x/Fi)/2

    In pratica il valore di Fi si avvicina sempre di piu alla radice quadrata di x

    Ho provato a scrivere il programma cosi ma non viene:

    #include <stdio.h>

    int main (){

    int x;
    int n; /* numero iterazioni che voglio eseguire */
    scanf("%d",&x);
    scanf("%d",&n);

    int i=0; /* contatore */
    float f; /* variabile per contenere il risultato */
    while (i<n){

    if (i==0)
    f=1;

    else f=((i-1)+(x/(i-1)))/2;

    printf("%f\n",f);
    ++i;

    }
    return 0;
    }

    Che correzioni potrei attuare?

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480

    Re: [C] Calcolo della radice con Newton-Raphson

    In neretto le modifiche

    Originariamente inviato da MicheleVicenza

    codice:
    #include <stdio.h>
    int main ()
    {
        float x; /* il valore dell'argomento puo' essere con la virgola */
        int n;	/* numero iterazioni che voglio eseguire */
        scanf("%f",&x);; /* il valore dell'argomento puo' essere con la virgola */
        scanf("%d",&n);
        
        int i=0;       /* contatore */
        float f;       /* variabile per contenere il risultato */
        while (i<n)
        {
              if (i==0)
                 f=1;
              else 
                 f=(f+x/f)/2; /* non utilizzare i ma il valore di f(i) ... */
              printf("%f\n",f);
              ++i;
        }
    
        return 0;
    }

  3. #3
    Ti ringrazio!!!

  4. #4
    ti voglio dire una cosa, un consiglio, quando fai un programma non classificarlo fra quelli che una volta fatti, non si guardano più, nel futuro ti potrebbe servire e vedere delle variabili "f, i, etc.. " non aiuta a capire il funzionamente a distanza di tempo.. quindi il consiglio e dichiarare variabili con nomi più "umani"

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.