求10000里的阶乘C语言,最详细的注释,看不懂你来打我
描述
求10000以内n的阶乘。
格式
输入格式
只有一行输入,整数n(0≤n≤10000)。
输出格式
一行,即n!的值。
样例
输入样例
4
输出样例
24
代码
#include<stdio.h>
int main()
{int n=0,k=1;int a[1000]={0};scanf("%d",&n);a[0]=0; a[1]=1;//防止相乘时全部为0 for(int i = 1; i <= n; ++i) //从一开始因为要用到a[j-1] {for(int j = 1; j <= k; ++j){a[j] = a[j]*i; //每一位都乘以i,我说的是个位十位百位 a[j] = a[j-1]/10+a[j]; //前一位大于10就加上前一位除以10得到的数,也就是进位的值,从j=2开始有用 a[j-1] = a[j-1]%10; //(接上一行)因为a[0]=0,a[1]是个位数 ,所以j=1时不发挥作用,进位后再%10 if(a[j]>=10 && j == k) l++; //满足if条件说明位数增加了需要再循环一次 } //k表示位数,当j到了最大位并且a[j]大于10表示要进位了,k同时用来记录值的位数 }for(int i = k; i >= 1; --i) //从最后一位开始倒序输出直到a[1](个位) printf("%d",a[i]);return 0;
}
原文在这:14:求10000以内n的阶乘_yanyanwenmeng的博客-CSDN博客_c语言求10000以内n的阶乘描述求10000以内n的阶乘。输入只有一行输入,整数n(0<=n<=10000)。输出一行,即n!的值。样例输入100样例输出933262154439441526816992388562667004907159682643816214685929638952175999932299156089414639761565182862536979208...https://blog.csdn.net/yanyanwenmeng/article/details/90812771本文只是进行一些说明。
这是当n=6时的过程:
不懂就问,有问有答。
求10000里的阶乘C语言,最详细的注释,看不懂你来打我相关推荐
- c语言里怎么解释程序,C语言程序详细解释一下各步骤意思
要点1:三目(要三个元素)运算符会用吧?(A)? B : C; 其中A是一个表达式(是值就没多大意义 了,因为0代表假,非0代表真),如果A为真,就执行B(B可以是值或表达式 ),假就执行C 要点二: ...
- 分别求两个整数的最大公约数和最小公倍数。_看不懂辗转相除法求最小公约数?以身相许那种哦!...
给你打个比喻吧:你英雄救美了,美女想要报答你,你想要1000块感谢费,但是美女却想要以身相许 ,懂了吧,同样都是报答,只是用了不一样的方式,辗转相除法也是这样,你两个数的最大公约数不容易求,我就用另外 ...
- 如何用递归思想 求n的阶乘 C语言
如何用递归思想 求n的阶乘 C语言 首先,我讲一下什么是递归? 一个函数在它的函数体内调用它自身称为递归调用,这种函数称为递归函数.执行递归函数将反复调用其自身,每调用一次就进入新的一层,当最内层的函 ...
- openjudge 14:求10000以内n的阶乘
14:求10000以内n的阶乘 总时间限制: 5000ms 内存限制: 655360kB 描述 求10000以内n的阶乘. 输入 只有一行输入,整数n(0<=n<=10000). 输出 一 ...
- 信息学奥赛一本通 1172:求10000以内n的阶乘 | OpenJudge NOI 1.6 14:求10000以内n的阶乘
[题目链接] ybt 1172:求10000以内n的阶乘 OpenJudge NOI 1.6 14:求10000以内n的阶乘 [题目考点] 1. 高精度 考察:高精乘低精 高精度计算讲解 [解题思路] ...
- 信息学奥赛一本通(1172:求10000以内n的阶乘)
1172:求10000以内n的阶乘 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 22142 通过数: 5506 [题目描述] 求10000以内n的阶乘. ...
- 求10000以内n的阶乘(信息学奥赛一本通-T1172)
[题目描述] 求10000以内n的阶乘. [输入] 只有一行输入,整数n(0≤n≤10000). [输出] 一行,即n!的值. [输入样例] 4 [输出样例] 24 [源程序] #include< ...
- C语言入门——求1到n阶乘之和(1≤n≤20)
C语言入门--求1到n阶乘之和(1≤n≤20) 一.问题 Problem Description 求1到n的阶乘之和 Input 输入一个正整数n (1 ≤ n ≤ 20) Output 输出一个数, ...
- 【C语言】求一个数的阶乘
#include <stdio.h> //包含标准库的信息int main(void) //每个程序都从main函数的起点开始执行 { //函数开始int p = 1;int n;prin ...
最新文章
- Android 如何在xmL 里面动态设置padding
- 扫描项目里没有使用的图片mac工具,删除没有使用的图片以减小包的体积
- CBitMap的用法 from http://www.cnblogs.com/toconnection/archive/2012/08/04/mfc.html
- Asp.NET Core 一个接口的多个实现如何通过 DI 注册?
- mybatis源码阅读(一):SqlSession和SqlSessionFactory
- linux curl命令验证服务器断点续传支持
- SQL存储过程:取出自定义条数的数据
- Annotation 使用备忘2
- rcnn代码实现_轻松学Pytorch实现自定义对象检测器
- 测量不确定度matlab,基于MATLAB用蒙特卡洛法评估测量不确定度简介,目录书摘
- ActiveMQ笔记(二)
- 《Python语言程序设计》二级教程课后编程题及答案
- css3学习笔记之背景
- 实验九 哈希表的查找操作
- 五笔字根表识别码图_五笔输入法口诀(五笔字根表快速记忆图)
- linux用mame玩游戏,Ubuntu下用xmame玩街机游戏
- r去掉向量中的空字符串 在R里如何去掉字符串矩阵中的空字符串 r r 识别字符串中的双引号 识别字符串中的双引号 str_detect
- html 九宫格头像,JAVA-仿微信九宫格头像
- 深度理解PHP执行流程
- iOS 磁场传感器的应用 Swift CoreMotion使用