5.1.5(大数阶乘)

来源:互联网 发布:u盘安装ubuntu一直黑屏 编辑:程序博客网 时间:2024/06/08 10:56

诶呀呀,,其实很久以前就是看过别人写的大数阶乘了的,,但是,今天写起来还是想了半天还是没有写出来呀

看了看书,才豁然开朗..诶哟哟,这次一定要掌握了,这都多长时间了 如果还是没有掌握的话,那真的就是自己没有用心学..呜呜

贴出代码:

#include <stdio.h>#include <string.h>#include <iostream>#include <string>using namespace std;const int maxn = 36666;int f[maxn];int main(){int n;int i; while (scanf("%d", &n) != EOF){memset(f, 0, sizeof(f));f[0] = 1;for (i = 2; i <= n; i++) // 乘以i {int c = 0; // 进位Cfor (int j = 0; j < maxn; j++){int s = f[j] * i + c; f[j] = s % 10;c = s / 10;}}//以上就是代码的精华部分,,诶诶,, for (i = maxn - 1; i >= 0; i--){if (f[i]){break;}}for (int j = i; j >= 0; j--){printf("%d", f[j]);}cout << endl;} //system("pause");return 0;}


原创粉丝点击