参考代码:
#include<iostream> using namespace std; int main() { int n, r = 0, t, a[3000] = { 1 }, len = 1; //初始数组长度为3000,因为1000!也才2568位数,初始长度位1 cin >> n; for (int i = 2;i <= n;i++) //从2乘到n for (int k = 0;k < len;k++) { t = a[k] * i + r; //临时保存,方便计算进位r a[k] = (a[k] * i + r) % 10; r = t / 10; //进位的数 if (k == len - 1 && r) len++; } for (int i = len - 1;i >= 0;i--) cout << a[i]; cout << endl; return 0; }
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:750 |
妹子杀手的故事 (C语言代码)浏览:1153 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:441 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:552 |
P1002 (C++代码)浏览:794 |
1074题 初学者,求帮忙看下,不知道哪错了浏览:297 |
拯救雅典娜浏览:1380 |
WU-蛇行矩阵 (C++代码)浏览:659 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:939 |
单词替换浏览:1211 |