求大数的阶乘方法(数组)
主要思想:
由于大数阶乘结果通常非常大,用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);
}
求大数的阶乘方法(数组)相关推荐
- 用子函数的方法求一个3*4的数组的转置数组
<程序设计基础实训指导教程-c语言> ISBN 978-7-03-032846-5 p142 7.1.2 上级实训内容 [实训内容3]用子函数的方法求一个3*4的数组的转置数组 #incl ...
- for 创建一个方法:键盘录入一个数 ,求它的 阶乘 及 阶乘的和
package Way_chongzai; //创建一个方法:键盘录入一个数 求它的阶乘 import java.util.Scanner; public class Test_03 { public ...
- 1. 定义方法,求出指定元素在数组中出现的次数.
package Day05;import java.util.ArrayList;/*** 3.* c* 1. 定义方法,求出指定元素在数组中出现的次数.* 2. 定义方法,统计数组中出现次数为1的元 ...
- php求一个数的阶乘,PHP基于简单递归函数求一个数阶乘的方法示例
搜索热词 本文实例讲述了PHP基于简单递归函数求一个数阶乘的方法.分享给大家供大家参考,具体如下: 一.问题: 求一个数a的阶乘,那么,a!=a*(a-1)*(a-2)*(a-3)*--*2*1.比如 ...
- 小学 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 ...
- matlab 求n 的和,MATLAB求1的阶乘加到n的阶乘和 不要现有的函数,要自己编写出来的...
点击查看MATLAB求1的阶乘加到n的阶乘和 不要现有的函数,要自己编写出来的具体信息 答:myfactorial = @(n) factorial(n) myfactorial = @(n) pro ...
- python求50的阶乘_python中求阶乘
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 我如何去计算python中的一个整数的阶乘?... 写一个猜数字的游戏,预先设定 ...
- 求n的阶乘及1~n的阶乘之和
求n的阶乘及1~n的阶乘之和 一.递归求阶乘 首先了解递归的概念 递归:程序调用自身的编程技巧称为递归( recursion).说白了就是一个函数自己调用自己,这种方法就是递归. >>1. ...
- python求50的阶乘_python中的阶乘
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 我如何去计算python中的一个整数的阶乘?... 问题描述 阶乘是我们在很多的 ...
最新文章
- Active report-在Web 上使用 active report
- 【控制】《多智能体系统的动力学分析与设计》徐光辉老师-第1章-绪论
- 1.3 继承(extends)
- PMCAFF微课堂 | 《社交红利2.0:即时引爆》徐志斌教你玩转社交
- cctype,string,vector
- 786. 第 K 个最小的素数分数
- PyTorch系列 (二): pytorch数据读取自制数据集并
- AngularJS-源码阅读(八.二)
- 直播预告 | Rainbond与Service Mesh微服务架构
- foremost使用简介
- org.aspectj aspectjweaver 报错
- 史上最全最强SpringMVC详细示例 实战
- 存储和多屏互动,蜂鸟网的NAS应用解析
- win10系统添加打印机
- 参考文献中英文人名的缩写规则
- 再次轻度破解EXE文件
- 大数据分析技术研究报告(四)
- 计算机专业英语完形填空,英语专业四级完形填空练习附答案
- 2030零售品牌未来的数字化技术战略
- hive自定义函数实现组织机构代码、统一社会信用代码校验
热门文章
- 吴恩达深度学习4.1练习_Convolutional Neural Networks_Convolution_model_Application_2
- 病毒及攻击防御手册之八
- drools研究后记
- 如何保护网页按钮不被XSS自动点击
- 数据中心操作人员:艰难地在针对VM构建的基础设施上运行容器
- ionic 组件之二维码扫描
- POJ 1037 DP
- Apache-ab 接口性能测试
- 小程序使用echarts
- ionic2.x 手动搭建开发环境教程分享(nodejs,jdk,ant,androidsdk)