Rumah > Artikel > pembangunan bahagian belakang > Program C untuk menjana x dinaikkan kepada kuasa ke-n menggunakan fungsi rekursif
Kira nilai x dinaikkan kepada kuasa ke-n, di mana kedua-dua x dan n dimasukkan oleh pengguna semasa runtime
Janakan x dinaikkan kepada kuasa ke-n menggunakan fungsi rekursif dalam C bahasa Penyelesaian untuk nilai adalah seperti berikut −
Logik mencari x dinaikkan kepada kuasa ke-n adalah seperti berikut −
//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));
Rujuk algoritma yang diberikan di bawah untuk menjana nilai x dinaikkan kepada kuasa ke-n menggunakan fungsi rekursif. .
Langkah 5− Fungsi panggilan
Langkah 5.1− jika (n==1)
Langkah 5.1.1− kembali(x)
Langkah 5.2− Lain jika (n%2 == 0.) − Pulangan (pow(kuasa(x,n/2),2)); /*Jika n ialah nombor genap*/
Langkah 5.3 − Lain
Bab 5.3 − Kembali (x *kuasa (x, n-1)); /*Jika n ialah nombor ganjil*/
ProgramBerikut ialah program C yang menggunakan fungsi rekursif untuk menjana nilai kuasa ke-n bagi x−
Xpown=power(x,n) goto step 5Output
Apabila program di atas dilaksanakan, ia menghasilkan keputusan berikut −
#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*/ }
Atas ialah kandungan terperinci Program C untuk menjana x dinaikkan kepada kuasa ke-n menggunakan fungsi rekursif. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!