5.2.2阶乘的精确值

#include <iostream>
using namespace std;

//阶乘的精确值
//输入不超过1000的正整数n,输出n!的精确结果
// 1000的阶乘有3000位之多,只能用数组才能存的下 
#define MAX 3000
int num[MAX] = {0}; 
int main()
{
    int n;
    cin >> n;
    num[0] = 1;
    int i,j,k;
    //从2开始乘 j
    for(i = 2;i < n;i++)
    {
        //对数组以个十百千的顺序存结果
        //其实是模拟手工乘法例如算1*2时 ,就相当于(2999个0)0...01*2列竖式,就是每一位与2相乘并且加上进位,
        //每乘一个数就会把这数组里的三千位更新
        int c = 0; 
        for(j = 0;j < MAX;j++)
        {
            int s = num[j] * i + c; 
            num[j] = s % 10;    //这里就相当于每一位乘以i之后的个位 
            c = s / 10;          //相当于十位 
        } 
    }
    //因为是按照个十百千储存在数组中的,所以要倒序输出
    for(k = MAX-1; k >= 0; k--) {if(num[k]) break;}   //从后往前找到第一个不为零的数字就是最高位 
     for(int m = k ; m >= 0; m--) {cout << num[m] << " ";} 
    return 0;
}

刘汝佳 《竞赛入门》5.2.2相关推荐

  1. 刘汝佳算法入门笔记(1)

    刘汝佳算法入门笔记 习题4-2 习题4-2 有n行n列(2≤n≤9)的小黑点,还有m条线段连接其中的一些黑点.统计这些线段连成 了多少个正方形(每种边长分别统计). 行从上到下编号为1-n,列从左到右 ...

  2. 破损的键盘(刘汝佳-算法入门经典第六章)

    感谢原文博主对此题的解释!笔者在原文基础上进行了部分注释以表达自己的理解,如有错误,恳请指正! 原文链接:https://blog.csdn.net/gyh_420/article/details/7 ...

  3. 刘汝佳《算法竞赛入门经典》---总结

    刘汝佳:<算法竞赛入门经典> 三步: 基本的数据结构+算法知识: 数论等数学基本知识: 锻炼联想建模能力.知识与实际相结合,解决实际问题! 第一章:程序设计入门 1.a/b 当a.b为整数 ...

  4. 算法竞赛入门经典(刘汝佳)——代码笔记

    Reference: <算法竞赛入门经典>(刘汝佳)第一版.第二版 ------------------------------------------------------------ ...

  5. 刘汝佳《算法竞赛入门经典(第二版)》习题(三)

    刘汝佳<算法竞赛入门经典(第二版)>第三章习题(一) 习题3-1 得分(ACM/ICPC Seoul 2005,UVa1585) 给出一个由O和X组成的串(长度为1~80),统计得分.每个 ...

  6. 刘汝佳《算法竞赛入门经典(第二版)》习题(六)

    刘汝佳<算法竞赛入门经典(第二版)>第四章习题(4-1~4-3) 习题4-1 象棋(Xiangai,ACM/ICPC Fuzhou 2011,UVa1589) 考虑一个象棋残局,其中红方有 ...

  7. 刘汝佳《算法竞赛入门经典(第二版)》习题(二)

    刘汝佳<算法竞赛入门经典(第二版)>第二章习题 目录 刘汝佳<算法竞赛入门经典(第二版)>第二章习题 习题2-1 水仙花数 习题2-2 韩信点兵 习题2-3 倒三角形 习题2- ...

  8. 刘汝佳算法竞赛第二版习题3-2思路

    最近在看刘汝佳编写的紫皮算法书,第三章后面有个习题,尝试写了一下,总感觉能找到更加便利的解题方法,但能力有限没想到. 上网搜索了一下,也没找到能让我眼前一亮的方法,那就暂且把我写的shi山放出来让大伙 ...

  9. (转)刘汝佳书上出现的一些题目

    推荐一些题目,希望对参与ICPC竞赛的同学有所帮助. POJ上一些题目在 http://162.105.81.202/course/problemSolving/   可以找到解题报告.        ...

  10. 【刘汝佳】习题3-1 UVA1585

    刘汝佳 <算法竞赛入门经典(第二版)>第三章习题 3-1 习题3-1 得分(ACM/ICPC Seoul 2005,UVa1585) 给出一个由O和X组成的串(长度为1~80),统计得分. ...

最新文章

  1. 知识图谱与机器学习如何结合?
  2. 亚马逊瞄准大数据 欲在汽车行业抢占一席之地
  3. WindowsServer和普通WIN操作系统有什么不同?
  4. # c++运算符重载之 前置++, 后置++, 负号运算符, 类型转换函数, 以及输入输出运算符...
  5. 与容器服务 ACK 发行版的深度对话第二弹:如何借助 hybridnet 构建混合云统一网络平面
  6. Codewars-Javascript训练手册:正则表达式(Regular Expressions)
  7. SQL中 char、varchar、text 和 nchar、nvarchar、ntext的区别
  8. android安装过哪些应用程序,如何安装应用程序两次而不干扰Android?
  9. git本地分支和远程分支改名
  10. matlab中目录的相关操作
  11. TakeColor取色器的使用
  12. donet 微服务开发 学习-AOP框架基础
  13. 抖音seo,抖音优化系统,抖音seo矩阵系统源码技术搭建
  14. 职业定位测试/职业能力倾向测试
  15. 还在为520礼物发愁吗?教你用python撩女朋友
  16. 新建Python项目
  17. 数据分析指标大收集!互联网行业必备!
  18. Defina脚本 - 恶灵塔任务大全
  19. 百度音乐接口-——可以根据这做一个在线音乐播放器哦
  20. 《Alogrithms》算法学习笔记——第一章:导语与数论

热门文章

  1. 谷歌插件firebug和xpath下载,并解决包括拖拽无法安装、提示“组件无法安装 未通过验证”等问题
  2. paip.常用汉字形声字大全3500字
  3. Adobe FLASH CS6 安装错误解决方法
  4. 幻想三国android官方版,幻想三国ol官方版下载
  5. android 截屏 水印,水印截图工具微商截图
  6. 三边定位算法在OMNet++上的简单实现
  7. 酷炫的迁徙图和轮播图,用pyecharts也可以做出来
  8. 浙江大学计算机专业选考要求,浙大等招办主任解读2020年选考科目要求!各专业有调整!...
  9. 成都理工大学乐千桤java考试,成都理工大学方案.PDF
  10. Python爬虫下载喜马拉雅音频文件