Maison  >  Article  >  développement back-end  >  Comment calculer l'exponentiation en langage C

Comment calculer l'exponentiation en langage C

WBOY
WBOYoriginal
2024-02-25 11:33:06732parcourir

Comment calculer lexponentiation en langage C

Il existe de nombreuses façons d'implémenter des opérations d'exponentiation en langage C, parmi lesquelles les deux méthodes les plus couramment utilisées sont la méthode des boucles et la méthode récursive. Ce qui suit présentera chacun et donnera des exemples de code spécifiques.

  1. La méthode de boucle implémente l'opération d'exponentiation

La méthode de boucle est une méthode de mise en œuvre relativement simple et intuitive En multipliant continuellement le nombre de base via une boucle, un nombre plus élevé d'exponentiations peut être obtenu. Le code spécifique est le suivant :

#include <stdio.h>

double power(double x, int n) {
    double result = 1.0;
    int i;
    
    if (n >= 0) {
        for (i = 0; i < n; i++) {
            result *= x;
        }
    } else {
        n = -n;
        for (i = 0; i < n; i++) {
            result /= x;
        }
    }
    
    return result;
}

int main() {
    double x;
    int n;
    
    printf("请输入底数:");
    scanf("%lf", &x);
    printf("请输入指数:");
    scanf("%d", &n);
    
    printf("%lf 的 %d 次方等于 %lf
", x, n, power(x, n));
    
    return 0;
}

Dans le code ci-dessus, la fonction power accepte deux paramètres, à savoir la base x et l'exposant n , renvoie le résultat de x élevé à la puissance n. Parmi eux, si n est supérieur ou égal à 0, alors x est multiplié par lui-même n fois à travers une boucle if ; n est inférieur à 0, puis prenez la valeur absolue de n et divisez x par lui-même n fois à travers une boucle. power 函数接受两个参数,分别是底数 x 和指数 n,返回 xn 次方运算结果。其中,如果 n 大于等于 0,则通过循环将 x 乘以自身 n 次;如果 n 小于 0,则取 n 的绝对值,通过循环将 x 除以自身 n 次。

  1. 递归法实现乘方运算

递归法是利用函数自身调用的特性来实现乘方运算,相对于循环法来说,递归法的代码较为简洁。具体的代码如下所示:

#include <stdio.h>

double power(double x, int n) {
    if (n == 0) {
        return 1.0;
    } else if (n > 0) {
        return x * power(x, n - 1);
    } else {
        return 1.0 / power(x, -n);
    }
}

int main() {
    double x;
    int n;
    
    printf("请输入底数:");
    scanf("%lf", &x);
    printf("请输入指数:");
    scanf("%d", &n);
    
    printf("%lf 的 %d 次方等于 %lf
", x, n, power(x, n));
    
    return 0;
}

在上述代码中,power 函数也接受两个参数,分别是底数 x 和指数 n,返回 xn 次方运算结果。其中,当 n 等于 0 时,返回 1;当 n 大于 0 时,返回 x 乘以自身 n-1 次方的结果;当 n 小于 0 时,返回 1 除以 x-n

    La méthode récursive implémente l'opération d'exponentiation

    🎜La méthode récursive utilise les caractéristiques de la fonction elle-même pour implémenter l'opération d'exponentiation. Par rapport à la méthode de boucle, le code de la méthode récursive est plus simple. . Le code spécifique est le suivant : 🎜rrreee🎜Dans le code ci-dessus, la fonction power accepte également deux paramètres, à savoir la base x et l'exposant n code >, renvoie le résultat de <code>x élevé à la puissance n. Parmi eux, lorsque n est égal à 0, renvoie 1 ; lorsque n est supérieur à 0, renvoie x multiplié par lui-même n. -1 élevé à la puissance ; lorsque <code>n est inférieur à 0, le résultat de la division de 1 par x élevé à -n l'alimentation est renvoyée. 🎜🎜Ceux-ci ci-dessus sont deux méthodes couramment utilisées pour implémenter des opérations d'exponentiation en langage C, à savoir la méthode de boucle et la méthode récursive. Choisissez la méthode appropriée en fonction des besoins réels et vous pourrez effectuer facilement des opérations d'exponentiation. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn