back to top

Radice quadrata in C: vediamo come calcolarla in diversi modi

La radice quadrata รจ unโ€™operazione matematica piuttosto comune (in Italia la si insegna alle scuole medie) che consiste nel trovare il numero che, moltiplicato per se stesso, dร  come risultato un numero di partenza.

Ad esempio la radice quadrata di 4 รจ 2 perchรฉ 2 * 2 = 4

Pubblicitร 

Usare la funzione sqrt() per calcolare la radice quadrata in C

In linguaggio C, esistono diversi modi per calcolare la radice quadrata di un numero. Il piรน semplice consiste nellโ€™utilizzare la funzione matematica sqrt(), che fa parte della libreria <math.h> di C. Questa funzione accetta un singolo argomento cioรจ il numero di cui si desidera calcolare la radice quadrata. Il numero passato in argomento alla funzione sqrt() puรฒ esserei sia un numero intero che uno decimale. Altrettanto dicasi per il risultato che potrร  essere, ovviamente, un numero intero o decimale.

#include <math.h>
#include <stdio.h>

int main() {
  double numero = 10.89;
  double risultato = sqrt(numero);
  printf("La radice quadrata di %lf รจ %lf", numero, risultato);
  return 0;
}

Il risultato che otterremo eseguendo questo semplice codice sarร  il seguente:

La radice quadrata di 10.89 รจ 3.3

Utilizzare la tecnica di Newton-Raphson per il calcolo della radice quadrata in C

Un altro modo per calcolare la radice quadrata consiste nellโ€™utilizzare un algoritmo di approssimazione, come ad esempio la tecnica di Newton-Raphson.

Lโ€™algoritmo di Newton-Raphson รจ un metodo matematico uche funziona facendo successive stime della radice e correggendo queste stime in base a quanto sono lontane dalla vera radice. Questo processo viene ripetuto finchรฉ non si ottiene una stima abbastanza precisa.

Questa tecnica in altre parole, utilizza un approccio iterativo per avvicinarsi al valore della radice quadrata di un numero.

Di seguito un esempio di sua implementazione in C:

#include <stdio.h>

double radiceQuadrata(double numero) {
  double approssimazione = numero / 2.0;
  double differenza = numero - approssimazione * approssimazione;
  while (differenza > 0.00001) {
    approssimazione = (approssimazione + numero / approssimazione) / 2.0;
    differenza = numero - approssimazione * approssimazione;
  }
  return approssimazione;
}

int main() {
  double numero = 10.89;
  double risultato = radiceQuadrata(num);
  printf("La radice quadrata di %lf รจ %lf", numero, risultato);
  return 0;
}

Il risultato generato da queto codice sarร  ovviamente identico a quello visto in precedenza.

Conclusioni

Esistono diversi modi per calcolare la radice quadrata di un numero in C: la soluzione piรน semplice รจ utilizzare la funzione sqrt() oppre un algoritmo di approssimazione come quello di Newton-Raphson. In alternativa, in linea teorica, รจ possibile seguire anche altre strade come, ad esempio, lโ€™utilizzo di librerie matematiche piรน complesse (come la libreria GMP) il cui utilizzo, tuttavia, appare esagerato per colcoli semplici come quello relativo alla radice quadrata.

Altri contenuti interessanti

Pubblicitร 
Massimiliano Bossi
Massimiliano Bossi
Stregato dalla rete sin dai tempi delle BBS e dei modem a 2.400 baud, ho avuto la fortuna di poter trasformare la mia passione in un lavoro (nonostante una Laurea in Giurisprudenza). Adoro scrivere codice e mi occupo quotidianamente di comunicazione, design e nuovi media digitali. Orgogliosamente "nerd" sono il fondatore di MRW.it (per il quale ho scritto centinaia di articoli) e di una nota Web-Agency (dove seguo in prima persona progetti digitali per numerosi clienti sia in Italia che all'estero).

Leggi anche...

Vibe Coding: cosโ€™รจ, come funziona e quali sono i migliori strumenti AI per programmare

Immagina di poter scrivere software senza dover digitare una...

I migliori libri per imparare a programmare in Python

Imparare a programmare in Python รจ un passo fondamentale...

Il file manifest.json: cosโ€™รจ e a cosa serve

Il file manifest.json รจ un componente chiave nelle applicazioni web moderne,...

Java: cosโ€™รจ e a cosa serve lโ€™operatore modulo (%)

In Java, l'operatore modulo รจ rappresentato dal simbolo "%"...

Sperimentare la sequenza di Collatz in C++

Vediamo come verificare la congettura di Collatz con C++....

Calcolare la radice quadrata con Python

In Python, calcolare la radice quadrata รจ un'operazione piuttosto...
Pubblicitร