কম্পিউটার টিউটোরিয়াল

রিকার্সিভ ফাংশন ব্যবহার করে x^n (x এর n ঘাত) বের করার C প্রোগ্রাম

দুটি ইনপুট x এবং n দেওয়া থাকলে, রিকার্সিভ ফাংশন ব্যবহার করে x^n বের করতে হবে। ইভেন এক্সপোনেন্টের জন্য অপ্টিমাইজড পদ্ধতি (square of half power) ব্যবহার করা হয়েছে।

রিকার্সিভ লজিক


long power(int x, int n) {
    if (n == 1) return x;
    else if (n % 2 == 0) return pow(power(x, n/2), 2); // n even
    else return x * power(x, n-1); // n odd
}

উদাহরণ

ইনপুট: x = 5, n = 4

power(5,4) → even → pow(power(5,2), 2)
power(5,2) → even → pow(power(5,1), 2) = pow(5,2) = 25
power(5,4) = pow(25,2) = 625

C কোড


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

long power(int x, int n) {
    if (n == 1) return x;
    else if (n % 2 == 0) return (long)pow(power(x, n/2), 2);
    else return x * power(x, n-1);
}

int main() {
    long x, n, result;
    printf("Enter X and N: "); scanf("%ld %ld", &x, &n);
    result = power(x, n);
    printf("X to the power N = %ld\n", result);
    return 0;
}

আউটপুট

Enter X and N: 5 4
X to the power N = 625
  1. জাভাস্ক্রিপ্টে iota (i) এর nth ঘাতের মান বের করা

  2. পয়েন্টার ব্যবহার করে যোগ ও বিয়োগ বের করার C প্রোগ্রাম

  3. রিকার্সিভ ফাংশন ব্যবহার করে GCD বের করার সি প্রোগ্রাম

  4. পাইথনে ২-এর ঘাতের মান বের করার প্রোগ্রাম