Rumah > pembangunan bahagian belakang > C++ > Program C untuk menjana x dinaikkan kepada kuasa ke-n menggunakan fungsi rekursif

Program C untuk menjana x dinaikkan kepada kuasa ke-n menggunakan fungsi rekursif

PHPz
Lepaskan: 2023-08-25 22:33:09
ke hadapan
1922 orang telah melayarinya

Program C untuk menjana x dinaikkan kepada kuasa ke-n menggunakan fungsi rekursif

Masalah

Kira nilai x dinaikkan kepada kuasa ke-n, di mana kedua-dua x dan n dimasukkan oleh pengguna semasa runtime

Penyelesaian

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));
Salin selepas log masuk

Algoritma

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*/

Program

Berikut ialah program C yang menggunakan fungsi rekursif untuk menjana nilai kuasa ke-n bagi x−

Xpown=power(x,n) goto step 5
Salin selepas log masuk

Output

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*/
}
Salin selepas log masuk

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!

Label berkaitan:
sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan