report zbharath.
data:num type i value 5,
fac type i value 0.
perform fact using num changing fac.
write:/ 'factorial of',num,'is',fac.
form fact.
using value(f-num) type i.
changing f-fact type i.
f-fact=1.
while f-num ge 1.
f-fact=f-fact*f-num.
f-num=f-num-1.
endwhile.
endform.
Chat with our AI personalities
DATA: output TYPE i.
PARAMETERS: p_num TYPE i.
START-OF-SELECTION.
PERFORM factorial USING p_num
CHANGING output.
WRITE:/ output.
*&---------------------------------------------------------------------*
*& Form factorial
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM factorial USING num
CHANGING out.
DATA: lv_num1 TYPE i,
out1 TYPE i.
IF num > 1.
lv_num1 = num - 1.
PERFORM factorial USING lv_num1
CHANGING out1.
out = num * out1.
ELSE.
out = num.
ENDIF.
ENDFORM. " factorial
Pseudo code+factorial
/*71.PROGRAM TO FIND FACTORIAL OF A NUMBER USING RECURSION*/ #include<stdio.h> #include<conio.h> int fact(int); void main() { int n,f; clrscr(); printf("Enter number whose factorial is to be calculated: "); scanf("%d",&n); if(n>0) { f=fact(n); printf("factorial of %d is %d",n,f); } else printf("Factorial of numbers less than 1 does not exist"); getch(); } int fact(int n) { int facto=1; if(n>1) facto=n*fact(n-1); else return 1; return(facto); }
by this program you can find the factorial: #include<iostream> using namespace std; main() { int n,x,f=1; cin>> n; x=0; while(x<n) { x++; f= f*x; } cout<<"factorial is"<<f<<"\n"; system("pause"); return 0; }
since factorial is for example , the factorial of 5 = 5 (5-1)(5-2)(5-3)(5-4) that means the last number to subtract from 5 is 4 , which is (n-1) ie the factorial of any number is (n-0)(.............)(n-(n-1)) to write this , 5 REM to calculate the factorial of any number 6 DIM fac AS INTEGER LET fac = 1 10 INPUT "enter the number to find its factorial "; a ' variable a 15 FOR b = 0 TO (a-1) 'numbers that will be subtracted from the " a" 20 c= a -b 'each number in the factorial calculation 25 fac = fac * c 'to compute each multiplication in the factorial 30 NEXT b 35 PRINT 'to leave a line 40 PRINT fac 45 END note this due to some unattained raesons works for numbers 0 to 7
/* gcc -ansi -Wall -Wextra -pedantic -s -static 0.c -o 0 */ #include <stdio.h> int main ( ) { int n , factorial = 1 ; printf ( "enter the value of n\n") ; scanf ( "%i" , & n ) ; while ( n != 0 ) { factorial *= n ; n -- ; } printf ( "The factorial of n is\n%i\n" , factorial ) ; return 0; }