1200 - C语言8.3

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 32 MB

用递归的方法求出n!的值。

题目输入

一个正整数n,保证n不超过10。

题目输出

n!的值。

请注意行尾输出换行。

输入/输出样例

输入格式

5

输出格式

120

C语言解答

#include<stdio.h>
int f(int n)
{
	if(n==1 || n==0)
	   return 1;
	else
	   return n*f(n-1);
}
int main(void)
{
	int n;
	scanf("%d",&n);
	printf("%d",f(n));
	return 0;
}

C++解答

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

Java解答

import java.util.*;

public class Main{ 
	public static void main(String[] args){
		Scanner in =new Scanner(System.in);
		int n=in.nextInt();
		int m=1;
		for(int i=1;i<=n;i++)
			m *=i;
		System.out.println (m);
	}
}

Python解答

def a(n):
 if n == 1:
  return n
 else:
  return n * a(n - 1)

print a(input())