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. 笔记 | PyTorch张量Tensor的一些必备操作
  2. Spring Boot 项目的 API 接口防刷
  3. WPF 3D:使用GeometryModel3D的BackMaterial
  4. 一觉醒来,借呗竟然被封了
  5. 机器学习算法GBDT的面试总结
  6. 3-3 修改haproxy配置文件
  7. TensorFlow函数使用总结
  8. 酷q服务器未响应,酷Q [CQHTTP Python Async SDK] 入坑指南【已失效】
  9. 地理探测器“运行时系统找不到指定文件”报错
  10. 面试相关-转载-well,yzl——持续更新
  11. vue面试常见问题小结
  12. PyCharm 下载/上传gitlab 代码
  13. 两个案例带你搞定JBoss Marshalling编解码在Netty中的应用
  14. 详述Android马甲包
  15. linux分析测序数据,[转]如何分析测序结果
  16. 华为研究院19级研究员几年心得终成趣谈网络协议文档,附讲解
  17. 读知乎《美国为什么不能通过印制美元来偿还中国购买的美国国债?》有感
  18. Mac宝藏软件推荐(笔者也在用)(二)
  19. minHash最小哈希
  20. 用c语言写鸡兔同笼问题

热门文章

  1. Atitit 推广之道 attilax著艾龙著 1. 概念呢 2 1.1. 目的 2 2. 与网络推广相近的概念有网络营销(搜索引擎营销、邮件营销、论坛营销、网站推广、网络广告、SNS营销、微信营销
  2. java培训一般有哪些课程_java培训有哪些课程
  3. 你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
  4. kubesphere+kubernetes搭建生产环境高可用集群(四-2)
  5. python加密成pyc_pyc文件加密 python写的程序怎样加密
  6. 泰坦尼克号预测结果分析报告
  7. java redis令牌桶_redis实现的简单令牌桶
  8. 计算机类专业要求高中选课,高一选课|12个学科门类、94个专业大类选课要求和招生人数分析...
  9. 全球IP地址分配对应表
  10. 聊天室软件(服务器+图形界面客户端)