كلام جميل أوي بس فيه مشكلة. دلوقتي لو الرقم بالسالب, هيحلها أزاي؟
ده كود Iterative أنا كتبته بالC:
#include <stdio.h>
#include <math.h>
void factorial ( int );
int main ( void )
{
int number;
printf("Enter a number: \n");
scanf("%d", &number);
factorial ( number );
}
void factorial ( int num )
{
int i;
long int factorial = num;
if ( num == 0 || num == 1 )
factorial = 1;
else if ( num == -1 )
factorial = -1;
else if ( num > 1 ) {
for( i = num - 1; i > 1; i--) {
factorial *= i;
}
}
else if ( num < 1 ) {
for( i = -num - 1; i > 1; i--) {
factorial *= i;
}
}
printf("\nFactorial = %ld\n", factorial);
}


