計算x的n次方的值,其中x和n都是由使用者在執行時輸入的
使用C程式語言中的遞歸函數產生x的n次方的值的解如下−
找到x的n次方的邏輯如下所述−
//Calling function: Xpow=power(x,n); //Called function: if (n==1) return(x); else if ( n%2 == 0) return (pow(power(x,n/2),2)); /*if n is even*/ else return (x*power(x, n-1));
參考下面給出的演算法,使用遞歸函數產生x的n次方的值。
步驟1 - 讀取長整數變數
步驟2 - 宣告函式原型
步驟3 - 呼叫函數
Xpown=power(x,n) goto step 5
第四步驟 − 列印xpown
第五步 − 呼叫函數
第5.1步 − if (n==1)
步驟5.1.1步驟 − return(x)
第5.2步 − Else if (n%2 == 0)
第5.2.1步 − Return (pow(power(x,n/2),2)); / *若n是偶數*/
第5.3步 − Else
步驟5.3.1步驟 − Return (x*power (x, n-1)); /*如果n是奇數*/
以下是使用遞迴函數產生x 的n 次方值的C 程式−
#include <stdio.h> #include <math.h> void main(){ long int x, n, xpown; long int power(int x, int n); printf("Enter the values of X and N: </p><p>"); scanf("%ld %ld", &x, &n); xpown = power (x, n); printf("X to the power N = %ld</p><p>",xpown); } /*Recursive function to computer the X to power N*/ long int power(int x, int n){ if (n==1) return(x); else if ( n%2 == 0) return (pow(power(x,n/2),2)); /*if n is even*/ else return (x*power(x, n-1)); /* if n is odd*/ }
當上述程式被執行時,它產生以下結果−
Enter the values of X and N: 5 4 X to the power N = 625
以上是使用遞歸函數產生x的n次冪的C程序的詳細內容。更多資訊請關注PHP中文網其他相關文章!