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

রিকার্সিভ ফাংশন ব্যবহার করে দেওয়া সংখ্যা রিভার্স করার C প্রোগ্রাম


"রিকার্সিভ ফাংশন" হল এমন কিছু যা ফাংশন বডির ভেতরে নিজেই আবার কল করে।

উদাহরণস্বরূপ,

  • একটি fact() ফাংশন, যা একটি পূর্ণসংখ্যা 'N'-এর ফ্যাক্টোরিয়াল কম্পিউট করে, যা ১ থেকে N পর্যন্ত সব পূর্ণসংখ্যার গুণফল।

  • ১ (অথবা) ০ আর্গুমেন্ট সহ fact(), ফাংশন ১ রিটার্ন করে। অন্যথায়, এটি n*fact(n-1) রিটার্ন করে, এটি 'n' ১ হওয়া পর্যন্ত চলতে থাকে।

Fact(5) = 5*fact(4) = 5*4*3*fact(3) = 5*4*3*2*fact(2) = 5*4*3*2*1 fact(1) = 5*4*3*2*1 = 120.

উদাহরণ

রিকার্সিভ ফাংশন ব্যবহার করে একটি সংখ্যা উল্টো করার C প্রোগ্রাম নিচে দেওয়া হল:

#include  main(){    int n, f;    int fact(int);    clrscr();    printf("একটি সংখ্যা লিখুন");    scanf("%d", &n);    f = fact(n);    printf("ফ্যাক্টোরিয়াল ভ্যালু = %d", f); } int fact(int n){    int f;    if((n == 1) || (n == 0))       return 1;    else       f = n * fact(n - 1);    return f; }

আউটপুট

আউটপুট নিচে দেওয়া হল:

একটি সংখ্যা লিখুন 5 ফ্যাক্টোরিয়াল ভ্যালু = 120

নিচে আরেকটি C প্রোগ্রাম দেওয়া হল রিকার্সিভ ফাংশন ব্যবহার করে দেওয়া সংখ্যা রিভার্স করার:

#include  int sum = 0, rem; int main(){    int num, revNum;    printf("সংখ্যা লিখুন:\n");    scanf("%d", &num);    revNum = revNumFunction(num); // সংখ্যা উল্টো করার ফাংশন কল    printf("উল্টো করার পর সংখ্যা: %d", revNum);    return 0; } revNumFunction(int num){    if(num){       rem = num % 10;       sum = sum * 10 + rem;       revNum(num / 10);    }    else       return sum; }

আউটপুট

আউটপুট নিম্নরূপ:

সংখ্যা লিখুন: 1357 উল্টো করার পর সংখ্যা: 7531
  1. নন-রিকার্সিভ ফাংশন ব্যবহার করে GCD বের করার সি প্রোগ্রাম

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

  3. C প্রোগ্রাম: দেওয়া সংখ্যাকে শব্দে রূপান্তর করা

  4. C প্রোগ্রাম: প্লাস পারফেক্ট নম্বর (Plus Perfect Number) চেক করা