#include <iostream>
#include <vector>
const int MAX_NUM = 1000000;
using namespace std;
//自写大数阶乘
void testBig(int n,vector<int> &v) {//计算阶乘1~nfor (int i = 2; i <= n; i++) {int flag = 0;//表示进位for (vector<int>::iterator it = v.begin(); it != v.end();it++) {int isMax = *it * i + flag;//将数组vector定为10w进制*it = isMax % MAX_NUM;flag = isMax / MAX_NUM;}if (flag != 0) {v.push_back(flag);//若进位标志不为0,则加入数组尾部}}
}//输出
void testPrintBig(vector<int>& v) {int flag = 0;//标志位,最高位不能为0for (vector<int>::reverse_iterator it = v.rbegin(); it != v.rend();it++) {vector<int> v1(6);int num = 1;//除位标志,每次乘10for (vector<int>::iterator itJ = v1.begin(); itJ !=v1.end(); itJ++) {*itJ = *it / num % 10;num *= 10;}for (vector<int>::reverse_iterator itJ = v1.rbegin(); itJ != v1.rend();itJ++) {if (!flag) {if (*itJ == 0) {continue;}else {flag = 1;}}if (flag) {cout << *itJ;}} }
}//主函数
int main()
{int n = 0;vector<int> v;v.push_back(1);cout << "请输入您希望计算的阶乘: ";cin >> n;testBig(n, v);testPrintBig(v);system("pause");return 0;
}

c++实现1000以内的阶乘相关推荐

  1. 1000及以内的阶乘

    1000及以内的阶乘 #include <stdio.h>void Print_Factorial ( const int N );int main() {int N;scanf(&quo ...

  2. 经典编程习题,用Java实现:矩阵转置、最大公约数和最小公倍数、计算自然对数的底e的值、输出1000以内的回文素数、判断两个年份之间的平闰年情况。

    经典编程习题,用Java实现 1.矩阵转置 2.最大公约数和最小公倍数 3.计算自然对数的底e的值 4.输出1000以内的回文素数 5.判断两个年份之间的平闰年情况 1.矩阵转置 public cla ...

  3. C语言打印1000以内的完数

    C语言打印1000以内的完数 #include <stdio.h> int main() {int m, s, i;int n = 1000;for (m = 2; m <= n; ...

  4. 计算1至1000间的合数c语言,输出1000以内的素数的算法(实例代码)

    输出1000以内的素数的算法(实例代码) 代码如下所示: 复制代码 代码如下: #include "stdafx.h" #include #include bool IsSushu ...

  5. I00040 计算1000以内的勾股数

    对于三元组<a, b, c>,若满足a^2+b^2=c^2,则称该三元组为勾股数. 可以假定a<b<c,在这个前提下,用穷举法来求解该问题.并且假定a<b<c< ...

  6. 找出1000以内的所有完数。

    1 ''' 2 一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.编程 3 找出1000以内的所有完数. 4 ''' 5 # 报错是因为之前定义了sum= ...

  7. C语言 | 求1000以内的所有完数及求2000以内最大的完数(C源代码)

    ================================================ 博主github:https://github.com/MichaelBeechan 博主CSDN:h ...

  8. 求 1000 以内的完数

    求 1000 以内的完数 完数:完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数.它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身.例如:6 = ...

  9. 1000以内完数c语言程序_C语言经典面试题目及答案详解(二)

    接着上次来说,C语言经典面试题目及答案详解(一)当中大部分是一些概念和理解的东西 ,今天说一说实践操作,有关c的经典程序. 1.输出9*9口诀.共9行9列,i控制行,j控制列. #include &q ...

最新文章

  1. Mac和 iOS 下的对称和非对称加密算法的使用
  2. 分布式版本控制系统Git的安装与使用
  3. Groove 2007 恢复用户配置文件(grv)文件 提示过旧,解决方法
  4. 利用python创建学生管理系统软件代码赏析
  5. 深入理解Python中的全局解释锁GIL
  6. oracle存储过程中数组的使用
  7. Android Studio 创建不同分辨率的图标
  8. C++ mmap 多进程文件读写
  9. Unix网络编程卷1学习总结
  10. 节约里程法matlab程序_物流配送路径优化研究 毕业论文.doc
  11. S7-1200 PLC 激活系统时钟存储位后,相应的位没有工作?
  12. Web端 嵌入海康视频监控组件
  13. 【OpenAirInterface知识-2】OAI端到端部署之核心网部署
  14. 简单易用的终端工具——NxShell
  15. 腾讯云轻量应用服务器(香港)最新测评(CN2 GIA)
  16. jenkins配置钉钉机器人推送job构建信息
  17. SONY投影机如何进入工厂模式?
  18. 软件工程homework:软件工程是不是教会不怎么会写程序的人软件开发?
  19. 博苑股份冲刺创业板上市:上半年净利润约1亿元,李成林为董事长
  20. Linux杀死指定端口的进程

热门文章

  1. 软件需求分析之猫咪记单词
  2. 电脑怎么用计算机辅助设计,如何自学cad电脑画图
  3. 二步解决pdg文件转pdf文件(无需下载pdg转换软件)
  4. webgl中uniform、varying、attribute的差别
  5. ldap基本dn_LDAP查询基础
  6. 关于phpStudy 中Apache 80端口被占用问题
  7. 利用喜欢的字给小孩取名
  8. 宝塔反向代理设置方法-可实现伪免备案
  9. Event-----事件类型:基本类型
  10. Ebook电子书下载