本文主要是介绍大数乘法——简单n!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
简单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; }
这篇关于大数乘法——简单n!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!