Find the factorial (without considering overflow)

Question: Enter a number and calculate its factorial

1. Non-recursive:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int fac(int n)
{
    
    
	int i = 0;
	int ret = 1;
	for (i = 1;i <= n;i++)
	{
    
    
		ret *= i;
	}
	return ret;
}
int main()
{
    
    
	int n = 0;
	scanf("%d", &n);
	int ret = fac(n);
	printf("%d\n", ret);
	return 0;
}

2. Recursion:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int fac(int n)
{
    
    
	if (n <= 1)
		return 1;
	else
		return n * fac(n-1);
}
int main()
{
    
    
	int n = 0;
	scanf("%d", &n);
	int ret = fac(n);
	printf("%d\n", ret);
	return 0;
}

Guess you like

Origin blog.csdn.net/qq_45658339/article/details/108269741