【郑轻oj】1048-阶乘表(数据类型)(水)

1048: 阶乘表

Time Limit: 1 Sec   Memory Limit: 128 MB
Submit: 12466   Solved: 4105

Submit Status Web Board

Description

输入一个正整数n(n<20),输出1到n之间阶乘表。

Input

输入只有一个正整数n。

Output

输出1到n之间的阶乘表,格式见输出样例。每行两个数据,第一个数据占4列,第二个数据占20列,左对齐。

Sample Input

5

Sample Output

1   1                   
2   2                   
3   6                   
4   24                  
5   120

 

此题提示为:注意int的数据范围。

我本以为要用longlong来做,后来发现到13的阶乘就出现了错误。再后来尝试了double就AC了。

 

代码如下:

#include <stdio.h>
double cot(int x)
{
	double c=1;
	for (int i=2;i<=x;i++)
	{
		c*=i;
	}
	return c;
}
int main()
{
	int n;
	double c;
	scanf ("%d",&n);
	for (int i=1;i<=n;i++)
	{
		printf ("%-4d",i);
		c=cot(i);
		printf ("%-20.0lf\n",c);
	}
	return 0;
}


 

 

你可能感兴趣的:(【郑轻oj】1048-阶乘表(数据类型)(水))