நானே கேள்வி நானே பதில்:
நாம் பொதுவாக ஒரு
ஃபங்க்சனை மெயின் ஃபங்க்சனில் இருந்து அழைப்போம். ஆனால் ஒரு ஃபங்க்சனில் இருந்த படியே
அதே ஃபங்க்சனை அழைத்தால் ரெகர்சிவ் ஃபங்க்சன் எனப்படுகின்றது.
கீழே உள்ள நிரல்
ஒரு எண்ணை இன்புட் வாங்கி அதன் ஃபேக்டோரியல் கண்டு பிடிக்கப்பயன்படுகின்றது.
Calcfact என்கின்ற
ஃபங்க்சன் அதற்கு பயன்படுத்தியுள்ளோம்.
பொதுவாக ஒரு எண்ணின்
factorial என்பது (n)
n*(factorial
of n-1)
என்பது இங்கு பயன்படுத்தப்
பட்டுள்ளது.
#include <stdio.h>
#include <stdlib.h>
int calcfact(int);
int main()
{
int n,fact;
printf("Enter
a number");
scanf("%d",&n);
fact=calcfact(n);
printf("factorial of %d is %d",n,fact);
return 0;
}
int calcfact(int n1)
{
if(n1<=1)
return 1;
else
return
n1*calcfact(n1-1);
}
மேலே உள்ள நிரலில்
n என்பதன் மதிப்பாக 5 என்று கொடுத்தோம் என்றால்
அது
5*calcfact(4);
5*4*calcfact(3);
5*4*3*calcfact(2);
5*4*3*2*calcfact(1);
5*4*3*2*1
=120 என கணக்கீடு
செய்கின்றது.
நன்றி
முத்து கார்த்திகேயன்,மதுரை.
No comments:
Post a Comment