c语言求50以内阶乘,C语言之数组50以内的阶乘.doc
C语言之数组50以内的阶乘
#include
//因为不知道50的阶乘有多少位,所以用100代
#define N 100
void fun(int);
int main()
{
int i;
// int n; //以下三行是计算输入一个数的阶乘
// printf("input the number:");
// scanf("%d",&n);
for(i=1;i<50;i++) fun(i);//此循环是通过调用函数,计算1到49的阶乘
return 0;
}
void fun(int n)
{
int a[N]={1}; //初始化数组,将第一个初始化为1,其余为0
int i,j,m,b=0;
for(i=2;i<=n; i++)//用循环实现阶乘的累乘
{
for(j=0; j<=i+20; j++)//为了减少计算,将循环条件改成i+20
{
m=a[j]*i+b;//用一个数去乘数组的一个元素,得到的结果加上上次剩余的数b
a[j]=m%10;//取个位保存到当前位置
b=m/10;//去掉个位,保留余下的部分,作为下次累加//以上三行是算法的核心
}
}
for(i=N-1; i>0; i--) if(a[i]!=0) break; //从后面往前面查找,直到第一个不为零的数
printf("%d!=",n);
for(j=i; j>=0; j--) //对数组元素进行逆序输出,因为存放的时候是从小位到高位
printf("%d",a[j]);
printf("\n");
}
运行结果:
1!=1
2!=2
3!=6
4!=24
5!=120
6!=720
7!=5040
8!=40320
9!=362880
10!=3628800
11!12!=479001600
13!=6227020800
14!=87178291200
15!=1307674368000
16!=20922789888000
17!=355687428096000
18!=6402373705728000
19!=121645100408832000
20!=2432902008176640000
21!=51090942171709440000
22!=1124000727777607680000
23!=25852016738884976640000
24!=620448401733239439360000
25!=15511210043330985984000000
26!=403291461126605635584000000
27!=10888869450418352160768000000
28!=304888344611713860501504000000
29!=8841761993739701954543616000000
30!=265252859812191058636308480000000
31!=8222838654177922817725562880000000
32!=263130836933693530167218012160000000
33!=8683317618811886495518194401280000000
34!=295232799039604140847618609643520000000
35!=10333147966386144929666651337523200000000
36!=371993326789901217467999448150835200000000
37!=13763753091226345046315979581580902400000000
38!=523022617466601111760007224100074291200000000
39!=20397882081197443358640281739902897356800000000
40!=815915283247897734345611269596115894272000000000
41!=33452526613163807108170062053440751665152000000000
42!=1405006117752879898543142606244511569936384000000000
43!=60415263063373835637355132068513997507264512000
c语言求50以内阶乘,C语言之数组50以内的阶乘.doc相关推荐
- python求sinx近似值_c语言求sinx的近似值 c语言求sinx近似值
#includevoid main(){ float x,a=0,b,t,n=1,s=1,c=1; printf("请输入x的值:"); scanf("%f", ...
- c语言求铁合金球体体积,C语言的基本控制结构.ppt
C语言的基本控制结构 程序设计的基本方法 根据计算机的特点,结合循环与分支结构在程序设计时常使两 种常用的基本方法. 枚举法(穷举法) 迭代法 本专题将结合分支和循环介绍两种方法的基本思想和 具体实现 ...
- C语言求斜边程序,用C语言编写勾股定理求斜边
勾股定理已知两直角边求斜边的公式为:两直角边边长的平方和等于斜边的平方. 定义两直角边的分别为a和b,斜边为c.用数学表达式可表示为:a^2+b^2=c^2.则斜边长为根号下(a^2+b^2). C语 ...
- c语言求三门课总成绩,C语言编程,求高手 编写程序求某班20位学生三门课(英语,数学,语文)总成绩,并按照总成绩从大到小...
C语言编程,求高手 编写程序求某班20位学生三门课(英语,数学,语文)总成绩,并按照总成绩从大到小 关注:212 答案:3 mip版 解决时间 2021-01-17 10:35 提问者夜落花台 2 ...
- c语言求不定式的最大值,C语言之四则运算表达式求值(链栈)—支持浮点型数据,负数, 整型数据运算...
运算符间的优先级关系: 链栈结构体定义: 数据域使用字符串长度为20的字符数组(故需要注意判断读取的字符串是运算符还是数值) 可支持浮点型数据,负数, 整型数据的运算 float EvaluateEx ...
- c语言求定积分的程序,C语言用六种方法求定积分
<C语言用六种方法求定积分>由会员分享,可在线阅读,更多相关<C语言用六种方法求定积分(14页珍藏版)>请在人人文库网上搜索. 1.C语言 用六种方法求定积分C语言实验报告hW ...
- c语言求平方程序源代码,C语言求平方根源程序.docx
编程序求10000之内的完全平方数的平方根 #include main() { int a,b,d,e,f; int A; int i,j; printf("\n\n***** 先把100以 ...
- c语言求两者之间最小数,C语言课件第2章基本数据类型.ppt
C语言课件第2章基本数据类型 第 2 章 基本数据类型 1.标识符 例2.1 常量和变量的使用. #include "stdio.h" #define WIDTH 80 //定义符 ...
- c语言求5个数最小公倍数,C语言,求从键盘输入的五个自然数的最小公倍数
满意答案 江湖矛盾四不象 2013.11.27 采纳率:47% 等级:12 已帮助:5468人 //下面是C++的,求N个数的最小公倍数. 给你说下思路吧,n个数的最小公倍数等于 前n-1个数的 ...
- c语言求最多啤酒数,C语言,算法、动态规划:有一个箱子的容量为v(正整数,0=v=20000),同时有n个物品(0n=30),...
满意答案 24k纯真爱l 2013.11.07 采纳率:42% 等级:12 已帮助:9552人 #include #define N 30 int xiangzi(int n ,int V ,i ...
最新文章
- 物理机linux无法上网,物理机不能访问虚拟机VMNet8中的Linux
- 【采用】风控老客户续贷业务知识
- 【网络安全】Xred蠕虫再分析及修复工具编写
- oracle json入参调用ws服务返回请求失败_Spring 5.2.2技术集成 —Spring HTTP调用程序和JAXWS...
- oracle导入impdp
- Python稳基修炼的经典案例11(计算机二级、初学者必会输入输出训练)
- uva10069-Distinct Subsequences
- ImageNet 数据集
- LVS-三种负载均衡方式比较
- 2020年上海将初步建成“泛在化、融合化、智敏化”智慧城市
- 2014计算机三级网络,2014计算机三级网络技术知识点.doc
- 控制工程实践(7)——PID四种类型控制器(之比例控制器P)
- python取字符串首字母_python字符串操作
- 论文阅读:Semantic Aware Attention Based Deep Object Co-segmentation(ACCV2018)
- PNG、IconFont、SVG图标使用
- 全国计算机专业录取分数线排名,2020中国高校录取分数线排名全国大学录取分数线表...
- c语言鼠标打地鼠程序,如何使用C语言实现打地鼠的游戏
- GDKOI 2017 滚粗记
- C++编译时提示:error: ‘x’ does not name a type
- 机器人/人工智能/就业形势2023
热门文章
- 【语音去噪】基于切比雪夫+椭圆形低通滤波器语音去噪附GUI界面
- 全国计算机noi,中国计算机协会关于设立NOI基地的公告
- 《MapReduce: Simplified Data Processing on Large Clusters》译文
- java小游戏贪吃蛇
- svn使用过程中遇到的错误
- 跨考408计算机学科专业基础综合,考研北京航空航天大学计算机学科专业基础综合(408)重难点解析.doc...
- Day01JAVA入门
- 1.结束进程的正确方式
- C++封装一个易用的打印backtrace信息的函数
- 二级管的正向恢复与反向恢复时间