国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

hdu1042【大數階乘】

2019-11-11 03:04:30
字體:
來源:轉載
供稿:網友

N!

Time Limit: 10000/5000 MS (java/Others) Memory Limit: 262144/262144 K (Java/Others) Total Submission(s): 79143 Accepted Submission(s): 23137

PRoblem Description Given an integer N(0 ≤ N ≤ 10000), your task is to calculate N!

Input One N in one line, process to the end of file.

Output For each N, output N! in one line.

Sample Input 1 2 3

Sample Output 1 2 6

大數的階乘,10000的階乘為35000多位數。 開個3000的數組,數組里的每個數儲存13位數,就足夠了 這算是10萬億進制了吧233333 代碼:

#include <iostream>#include <string>#include <cstring>#include <cstdio>#include <cmath>#include <cstdlib>#include <algorithm>#include <queue>#include <map>#define MST(s,q) memset(s,q,sizeof(s))#define INF 0x3f3f3f3f#define MAXN 9999using namespace std;long long a[10005][3001];void deal(){ MST(a, 0); a[0][1] = 1; for (int i = 1; i <= 10000; i++) { long long r = 0; for (int j = 1; j <= 3000; j++) { a[i][j] = a[i - 1][j] * i + r; if (a[i][j] < 0) printf("/n"); r = 0; if (a[i][j] > 10000000000000) { r = a[i][j] / 10000000000000; a[i][j] %= 10000000000000; } } }}int main(){ deal(); int n; while (cin >> n) { int i = 3000; while (a[n][i] == 0)i--; printf("%lld", a[n][i] ); // 剛開始不用補0 i--; for (; i >= 1; i--) printf("%013lld", a[n][i] ); // 不夠13位就補0 printf("/n"); }}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 广南县| 庆城县| 长汀县| 嘉定区| 建瓯市| 旌德县| 永胜县| 新乡县| 六枝特区| 龙游县| 昌黎县| 海原县| 临清市| 济阳县| 樟树市| 泰安市| 锦屏县| 蒲城县| 黄平县| 尼勒克县| 吐鲁番市| 凤凰县| 乌兰县| 绩溪县| 隆子县| 凤凰县| 乐平市| 绿春县| 宜兰市| 文水县| 浙江省| 武平县| 麻江县| 佛冈县| 红河县| 丰原市| 阿拉尔市| 盐池县| 松江区| 甘洛县| 贵德县|