简单作业:求n!并输出
2017-09-11 21:26
549 查看
实测可以跑60000的阶乘左右。
代码:
#include<bits/stdc++.h> using namespace std; #define BIT 1000000000 #define maxn 30000 struct x_num { long long int a[maxn]; int len; }; int n; x_num get_produce(x_num x,int c) { //x_num ans; for(int i=0;i<x.len;i++) { x.a[i]*=(long long int)c; } for(int i=0;i<x.len;i++) { x.a[i+1]+=(x.a[i]/BIT); x.a[i]%=BIT; } if(x.a[x.len]!=0)x.len++; return x; } void output(x_num x) { printf("%lld",x.a[--x.len]); while(x.len--) { printf("%09lld",x.a[x.len]); } printf("\n"); } int main() { while(scanf("%d",&n)!=EOF) { x_num ans; memset(ans.a,0,sizeof(ans.a)); ans.len=1; ans.a[0]=1; while(n--) { ans=get_produce(ans,n+1); } output(ans); } }
相关文章推荐
- 作业2 编写简单输出程序 LHZ
- Linux运维笔记-课后作业-输入输出的练习和vim的简单使用
- HDOJ_杭电2091_空心三角形,,简单的输出题目。考察for循环
- Java简单例题(1、获取不等随机数。2、录入多个数据,控制台输出最大值)
- 创建一个简单的单向链表并将其倒序输出
- log4j日志在java控制台输出,简单实用(转载)
- 第七周作业——简单FTP
- Lesson_3 作业_3 ---- 输出字母金字塔
- Python使用multiprocessing实现一个最简单的分布式作业调度系统
- 各种语言简单的输出Hello World
- 【自己的整理】node.js直接输出一个非常简单的HTML页面
- PAT-简单输出整数(基础函数题)
- 第六次作业——利用MFC实现计算器图形界面以及简单四则运算表达式批处理
- 作业06: 简单的数学运算编程。
- 108.PHP输出CSV和EXCEL两种简单的方法
- 向浏览器输出excel文件的简单办法,不依赖第三方类库
- 简单的快速排序,将数组排序然后从小到大输出不重复的数。(渣代码,写得丑)
- 第一次作业-开发环境搭建与第一个简单APP开发
- Python学习第一周第二次作业——简单程序编写
- 实现一个简单的log类,目标:能够在VS的输出窗口定位调用点