大数运算——阶乘-40!
2016-06-12 10:39
183 查看
#include <iostream> using namespace std; int main() { int a[100]={1}; //初始化一个数组,存储结果 int tail=0; //初始化结果位数 int c=0; //是否有进位 for(int i=2;i<41;i++) //求四十的阶乘 { for(int j=0;j<=tail;j++)//遍历每一位 { int n=a[j]*i+c;//求第j个元素与i相乘结果 a[j]=n%10; //求个位刷新第j个元素 c=n/10; //求剩余位,再循环 } while (c) //遍历完每一位后,看是否还有进位 { tail++; //有进位长度加一 a[tail]=c%10; //最高位赋值 c/=10; //求剩余位,再循环 } } for(int k=tail;k>=0;k--)//倒序输出 { cout<<a[k]; }
相关文章推荐
- 卡耐基关于疲倦理论
- C语言中%*s,%*c 是什么意思(还有%*.*s)
- Struts2学习笔记(1)-入门教程
- 更改eclipse(myeclipse) author的默认名字(注释的作者)
- JAVA并发-3种典型的死锁
- ci框架hooks使用
- Servlet3.0——文件上传
- 服务端缓存的问题。
- 使用表单onsubmit属性进行表单提交前js判定
- 1045, "Access denied for user 'root'@'localhost' (using password: YES)"
- 基于Bmob的聊天开发
- 各种dns:百度DNS/阿里DNS/114DNS/腾讯DNS/谷歌DNS/OpenDNS 对比评测
- React Native笔记
- Bootstrap字体图标
- SQL Server删除重复行的6个方法
- centos LVS配置说明
- MD5加密的一些记录
- Android通过反射动态获取资源Id
- mysql性能调优和架构设计读书笔记
- 微博研发实习阶段性总结及知识点整理