简单n!
Time Limit: 1000MS Memory limit: 65536K
题目描述
给定一个数n(0 <= n <= 150), 求0到n中所有数的阶乘。
输入
题目有多组数据,处理到文件结尾。输入一个数n。
输出
输出阶乘,形式如:4! = 24.每组数据输出后跟一个空行。
示例输入
14
示例输出
0! = 11! = 10! = 11! = 12! = 23! = 64! = 24
#include <stdio.h> #include <string.h> int f[151][3000]; int main() { memset(f,0,sizeof(f)); int i,j,k; for(i = 0;i<=150;i++) f[i][0] = 1; for(k = 2;k <= 150;k++) { for(i = 2;i <= k;i++) { int c = 0; for(j = 0;j < 1000;j++) { int s = f[k][j] * i + c; f[k][j] = s % 10; c = s / 10; } } } int n; while(~scanf("%d",&n)) { for(i = 0;i <= n;i++) { printf("%d! = ",i); for(j = 999;j >= 0;j--) if(f[i][j]) break; for(k = j;k >= 0;k--) printf("%d",f[i][k]); printf("\n"); } printf("\n"); } return 0; }