简单作业:求n!并输出
来源:互联网 发布:罗德曼数据 编辑:程序博客网 时间:2024/05/17 01:50
实测可以跑60000的阶乘左右。
代码:
#include<bits/stdc++.h>using namespace std;#define BIT 1000000000#define maxn 30000struct 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); }}
阅读全文
0 0
- 简单作业:求n!并输出
- 求n以内的所有素数并输出
- 题解:求满足条件n=a!+b!+c!的所有三位数n并输出
- 求N个点中斜率最大(不考虑无穷)的两个点并输出最大斜率
- java 求1到n之间的所有完数,并输出各个因子
- 求n个数的平均数,并输出大于平均数的数。以-1结束
- Linux作业(三)-shell统计某文章中出现频率最高的N个单词并排序输出出现次数
- 作业1:习题6.4 编程计算并输出1到n之间的所有的平方和立方。
- Linux-C基础知识学习:C语言作业-用for循环完成:输入10个数,求它们的和并输出
- 求满足条件n=a!+b!+c!的所有三位数n 并输出,要求用自定义函数实现求阶乘(穷举法)
- 求满足条件n=a!+b!+c!的所有三位数n 并输出,要求用自定义函数实现求阶乘(正常版)
- 项目39.2求满足条件n=a!+b!+c!的所有三位数n并输出,其中a,b,c分别为n的百、十、个位数。
- 参考例7.4,利用求阶乘函数Fact(),编程计算并输出1!+2!+......+n!的值
- n*1并输出于文件中
- 求素数,给你一个n,输出n以内的素数
- 问题五十三: 求满足条件n=a!+b!+c!的所有三位数n(a,b,c分别是n的百位十位个位)并输出,要求用自定义函数实现求阶乘。
- 求最长回文字符串并原样输出
- 逆序输出数字并求最大最小值
- Annotation--自定义Annotation
- python-1
- 士兵队列训练问题--队列(数据结构)
- 暑期总结
- 集合框架4
- 简单作业:求n!并输出
- 【转】最佳实践 —— 详细谈谈如何减小APK体积
- 机器翻译
- Static与Const的区别
- 2017最新版13款不容错过的前端Js和css类库
- 20170911_C++11新特性之智能指针
- Linux系统管理相关命令
- JVM类加载详解
- 管理开机启动项