C-keeles juurte arvutamine: Ruutjuur, kuupjuur ja praktilised koodinäited

1. Sissejuhatus

Juurte arvutamine C-keeles on oluline osa nii arvulises analüüsis kui ka geomeetrilistes arvutustes. Juurte arvutamine tähendab ruutjuure, kuupjuure või mõne muu juure leidmist arvule. Käesolevas artiklis selgitatakse põhjalikult, kuidas C-keeles juuri arvutada, hõlmates teemat alustest kuni rakenduseni. Pärast lugemist oskate kasutada sqrt funktsiooni, rakendada Newtoni meetodit ning arvutada mistahes astmejuuri pow funktsiooniga, kaasates ka praktilised koodinäited.

2. Juurte arvutamise põhialused C-keeles

math.h teek

C-keeles kasutatakse matemaatiliste funktsioonide jaoks standardteeki math.h. Selles teegis on olemas funktsioonid nagu sqrt (ruutjuur) ja cbrt (kuupjuur) ning palju muid matemaatilisi funktsioone. Nende funktsioonide kasutamiseks tuleb programmi alguses lisada #include <math.h>.

年収訴求

3. Juurte arvutamine funktsioonidega sqrt ja cbrt

Ruutjuur (sqrt)

sqrt funktsioon arvutab etteantud arvu ruutjuure. Argumendiks antakse mitte-negatiivne arv ning tulemus tagastatakse double tüübina. Allolev koodinäide näitab, kuidas sqrt abil ruutjuurt leida.

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

int main(void) {
    double num = 16.0;
    double result = sqrt(num);
    printf("Arvu %.2f ruutjuur on %.2f\n", num, result);
    return 0;
}

Selles programmis määratakse num väärtuseks 16.0 ja leitakse selle ruutjuur. Tulemus kuvatakse kujul: “Arvu 16.00 ruutjuur on 4.00”.

Kuupjuur (cbrt)

cbrt funktsioon arvutab arvu kuupjuure. cbrt töötab ka negatiivsete arvudega, seega on see mugav juhul, kui soovite arvutada negatiivse arvu kuupjuurt. Järgmine koodinäide arvutab nullist üheksani kuupjuured ja näitab, et tulemuse kuubistamisel saadakse algne väärtus tagasi.

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

int main(void) {
    for (double x = 0.0; x < 10.0; x+=1.0) {
        double ans = cbrt(x);
        printf("%f : %f\n", x, ans * ans * ans);
    }
    return 0;
}

4. Juurte arvutamine Newtoni meetodiga

Newtoni meetodi ülevaade

Newtoni meetod on iteratiivne lähenemine funktsiooni nullpunkti leidmiseks ja seda saab kasutada ka ruut- või muude juurte arvutamiseks. See on kasulik juhul, kui ei kasutata sqrt funktsiooni või kui on vaja kohandatud lahendust.

Näidisrakendus

Alljärgnev programm näitab, kuidas Newtoni meetodiga ruutjuurt arvutada.

#include <stdio.h>

int main(void) {
    double x, y, n;
    printf("Sisestage arv: \n");
    scanf("%lf", &n);

    x = 1;
    while(1) {
        x = x - (x * x - n) / (2 * x);
        y = x * x - n;
        if ((y <= 0.00000001) && (y >= -0.00000001)) {
            break;
        }
    }
    printf("sqrt(%lf) = %lf\n", n, x);
    return 0;
}

See programm arvutab kasutaja sisestatud arvu ruutjuure Newtoni meetodi abil.

5. Suvalise astmejuure arvutamine pow funktsiooniga

pow funktsiooni kasutamine

pow funktsioon võimaldab arvutada arvu astmeid (eksponente). Selle abil saab leida nii ruut-, kuup- kui ka muid juuri. Näiteks ruutjuure leidmiseks tuleb eksponendiks määrata 0.5.

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

int main(void) {
    for(int i = 0; i < 5; i++) {
        printf("%d juur on %lf\n", i + 1, pow(i + 1, 0.5));
    }
    return 0;
}

See programm arvutab arvude 1 kuni 5 ruutjuured pow funktsiooniga ja väljastab need.

6. Juurte arvutamise rakendused C-keeles

Praktilised näited

Juurte arvutamist kasutatakse mitmesugustes olukordades, näiteks geomeetriliste probleemide lahendamisel või statistilisel analüüsil. Näiteks punktidevahelise kauguse leidmisel või dispersiooni põhjal standardhälbe arvutamisel kasutatakse sageli ruutjuurt.

Veakäsitlus

Juurte arvutamisel tuleb olla ettevaatlik negatiivsete arvudega. sqrt funktsioon annab negatiivse argumendi korral veateate, kuid cbrt töötab ka negatiivsete arvudega. Kui on vaja arvutada negatiivse arvu ruutjuurt, tuleks lisada veakontroll ja vajadusel asjakohane käsitlus.

7. Kokkuvõte

Käesolevas artiklis tutvustasime erinevaid viise, kuidas C-keeles juuri arvutada. Rääkisime nii sqrt ja cbrt funktsioonide põhilisest kasutusest kui ka kohandatud lahendusest Newtoni meetodiga, tuues näiteid koodidega. Lisaks selgitasime, kuidas pow funktsiooniga leida suvalise astmejuuri. Juurte arvutamise oskus on vajalik paljude praktiliste probleemide lahendamiseks ja loodetavasti aitas see artikkel teil teemat paremini mõista.

侍エンジニア塾