每日一九度之 题目1076:N的阶乘
2024-10-11 07:31:16
时间限制:3 秒
内存限制:128 兆
特殊判题:否
提交:7601
解决:2749
- 题目描述:
-
输入一个正整数N,输出N的阶乘。
- 输入:
-
正整数N(0<=N<=1000)
- 输出:
-
输入可能包括多组数据,对于每一组输入数据,输出N的阶乘
- 样例输入:
-
4
5
15
- 样例输出:
-
24
120
1307674368000
大数的乘法。
//Asimple
#include <iostream>
#include <algorithm>
#include <cstring>
#include <cstdio>
#include <vector>
#include <cctype>
#include <cstdlib>
#include <stack>
#include <cmath>
#include <set>
#include <map>
#include <string>
#include <queue>
#include <limits.h>
#define INF 0x7fffffff
using namespace std;
const int maxn = ;
typedef long long ll;
int n;
ll a[maxn]; int main(){
while( ~scanf("%d",&n) ){
if( n == ){
printf("1\n");
continue;
}
//进位
int c = , len = ;
memset(a,,sizeof(a));
a[] = ;
for(int i=; i<=n; i++){
c = ;
for(int j=; j<len; j++){
a[j] = a[j] * i + c;
if( a[j]>= ){
c = a[j] / ;
a[j] = a[j] % ;
} else c = ;
}
while( c != ){
int t = c % ;
a[len++] = t;
c = c / ;
}
}
int i, j;
for(i=maxn; i>=; i--){
if( a[i] != ){
break;
}
}
for(j=i; j>=; j--){
printf("%d",a[j]);
}
printf("\n");
}
return ;
}
最新文章
- angularjs自动化测试系列之karma
- AlertDialog的六种创建方式
- 【转】使用Reflector和FileDisassembler反编译成项目文件
- Mysql 分段统计
- Arlenmbx!!!!
- HDU 2544 最短路 http://acm.hdu.edu.cn/showproblem.php?pid=2544
- JavaScript 函数之 ------------------ 闭包
- PHP基础入门(三)---PHP函数基础
- 小程序第三方框架对比 ( wepy / mpvue / taro )
- Spark源码剖析 - SparkContext的初始化(二)_创建执行环境SparkEnv
- python 的zip 函数小例子
- idea debug只断点当前线程,不阻塞其他线程
- icil 参考docker
- 《Java入门第二季》第五章 阶段练习
- codeforces 811E Vladik and Entertaining Flags(线段树+并查集)
- 使用vscode实现git同步
- android开发笔记(一)Android studio 输入法
- Windows(7)上不能启动MySQL服务(位于本地计算机上)错误1067 :进程意外终止
- Jquery之倒计时计算
- Hive:用Java代码通过JDBC连接Hiveserver