主要思想:

由于大数阶乘结果通常非常大,用long long保存都不一定够,因此,大数阶乘不能直接去相乘。可以采用数组存储进位的方法来存储。

例如,定义一个数组a[3],a[2] = 3,a[1] = 2,a[0] = 5,则表示这个数为325.当然,以上是采用10进制进行进位的。

如果进位设置为1000,那么如果a[2] = 223,a[1] = 100,a[0] = 4,表示223,100,4这样一个数。

在程序中,采用%来计算当前位的值,用/来计算进位值。

代码:

#include <stdio.h>
#define N 10
void main()
{int a[3000]={1};int n;printf(" please input n (1~1000):");do{scanf("%d",&n);}while (n>1000||n<0);int wei=0;int i;for (i=2;i<=n;i++){int jinwei=0;int j;for ( j=0;j<=wei;j++){int w=a[j]*i+jinwei;a[j]=w%N;jinwei=w/N;}while(jinwei){wei++;a[wei]=jinwei%N;jinwei/=N;}}int sum=0;int k;for ( k=wei;k>=0;k--){printf("%d",a[k]);if(a[k]==0)sum=sum+1;}int m , count = 0;for( m = 0;m<wei;m++){if(a[m] == 0){count ++;}else break;}printf("\n");printf("%d%s%d\n",n,"!中共位数为:",wei);printf("%d%s%d\n",n,"!中共有0的个数为:",sum);printf("%d%s%d\n",n,"!尾部中共有0的个数为:",count);
}

求大数的阶乘方法(数组)相关推荐

  1. 用子函数的方法求一个3*4的数组的转置数组

    <程序设计基础实训指导教程-c语言> ISBN 978-7-03-032846-5 p142 7.1.2 上级实训内容 [实训内容3]用子函数的方法求一个3*4的数组的转置数组 #incl ...

  2. for 创建一个方法:键盘录入一个数 ,求它的 阶乘 及 阶乘的和

    package Way_chongzai; //创建一个方法:键盘录入一个数 求它的阶乘 import java.util.Scanner; public class Test_03 { public ...

  3. 1. 定义方法,求出指定元素在数组中出现的次数.

    package Day05;import java.util.ArrayList;/*** 3.* c* 1. 定义方法,求出指定元素在数组中出现的次数.* 2. 定义方法,统计数组中出现次数为1的元 ...

  4. php求一个数的阶乘,PHP基于简单递归函数求一个数阶乘的方法示例

    搜索热词 本文实例讲述了PHP基于简单递归函数求一个数阶乘的方法.分享给大家供大家参考,具体如下: 一.问题: 求一个数a的阶乘,那么,a!=a*(a-1)*(a-2)*(a-3)*--*2*1.比如 ...

  5. 小学 n 阶乘的后面包含多少零c语言,C语言---求n的阶乘后面有多少个连续的0

    C语言---求n的阶乘后面有多少个连续的0 题目描述:给定一个正整数n,返回n的阶乘尾部连续0的个数. 例如:(5,5*4*3*2*1=120,则返回1),(10,10*9*8*7*6*5*4*3*2 ...

  6. matlab 求n 的和,MATLAB求1的阶乘加到n的阶乘和 不要现有的函数,要自己编写出来的...

    点击查看MATLAB求1的阶乘加到n的阶乘和 不要现有的函数,要自己编写出来的具体信息 答:myfactorial = @(n) factorial(n) myfactorial = @(n) pro ...

  7. python求50的阶乘_python中求阶乘

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 我如何去计算python中的一个整数的阶乘?... 写一个猜数字的游戏,预先设定 ...

  8. 求n的阶乘及1~n的阶乘之和

    求n的阶乘及1~n的阶乘之和 一.递归求阶乘 首先了解递归的概念 递归:程序调用自身的编程技巧称为递归( recursion).说白了就是一个函数自己调用自己,这种方法就是递归. >>1. ...

  9. python求50的阶乘_python中的阶乘

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 我如何去计算python中的一个整数的阶乘?... 问题描述 阶乘是我们在很多的 ...

最新文章

  1. Active report-在Web 上使用 active report
  2. 【控制】《多智能体系统的动力学分析与设计》徐光辉老师-第1章-绪论
  3. 1.3 继承(extends)
  4. PMCAFF微课堂 | 《社交红利2.0:即时引爆》徐志斌教你玩转社交
  5. cctype,string,vector
  6. 786. 第 K 个最小的素数分数
  7. PyTorch系列 (二): pytorch数据读取自制数据集并
  8. AngularJS-源码阅读(八.二)
  9. 直播预告 | Rainbond与Service Mesh微服务架构
  10. foremost使用简介
  11. org.aspectj aspectjweaver 报错
  12. 史上最全最强SpringMVC详细示例 实战
  13. 存储和多屏互动,蜂鸟网的NAS应用解析
  14. win10系统添加打印机
  15. 参考文献中英文人名的缩写规则
  16. 再次轻度破解EXE文件
  17. 大数据分析技术研究报告(四)
  18. 计算机专业英语完形填空,英语专业四级完形填空练习附答案
  19. 2030零售品牌未来的数字化技术战略
  20. hive自定义函数实现组织机构代码、统一社会信用代码校验

热门文章

  1. 吴恩达深度学习4.1练习_Convolutional Neural Networks_Convolution_model_Application_2
  2. 病毒及攻击防御手册之八
  3. drools研究后记
  4. 如何保护网页按钮不被XSS自动点击
  5. 数据中心操作人员:艰难地在针对VM构建的基础设施上运行容器
  6. ionic 组件之二维码扫描
  7. POJ 1037 DP
  8. Apache-ab 接口性能测试
  9. 小程序使用echarts
  10. ionic2.x 手动搭建开发环境教程分享(nodejs,jdk,ant,androidsdk)