题解 1148: C语言训练-计算1977!*

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

计算1977!*-题解(高精度阶乘)

注意:该代码需在平台使用C++来编译,在C环境下编译会不通过。------------题目类型:高精度阶乘```高精度阶乘其实就是进行了n次高精乘以低精,只要高精乘以低精会写,高精度阶乘就没问题。```核心原理:```每次依次取高精数的个位,

C语言训练-计算1977!*-题解(C语言代码)

第一次写题解,没什么经验,所有就给大家看一下代码,如果有什么不懂的,欢迎大家留言,一起讨论,哈哈哈,其实我也是一个新手小白。```c#includeintmain(){inti,j,k;inta[10000];//用数组存储结果a[0]=1;//先存储1!k=0;//用k来表示数组中数的第一位的下标f

C语言训练-计算1977!*-题解(C++代码)——大数运算

#思路模拟一下大数乘法即可,思路比较简单。关键在于确定开多么大的数组,假设有两千个两千相乘最多不可能超过4(2000有四位)*2000(两千个两千)=8000位,所以开10000的数组一定可以装下这个数。#代码#includeusingnamespacestd;intmain(){intnum[100

C语言训练-计算1977!*-题解(C语言代码)

#思路和第一名的那位大佬一样##代码中有解释解题思路:由于数字过于庞大,任何类型的变量都容纳不了,所有就需要用到数组;考虑到平时我们计算乘法时都是用乘数乘以每个数字,然后个位满10进一位,接着计算下一位;例如:18*8——8,64——8+6,4——1,4,4从这个例子可以看出,

C语言训练-计算1977!*-题解(C语言代码)

解题思路:我把1977!分为很多个五位数,以数组承载这些五位数,随着循环,将每一个数组元素乘以i,当一个数组元素大于100000时,取它的十万位以下的数字为该元素,十万位及以上加至下一个数组元素。如a[0]=1304000,使a[0]=4000,a[1]=a[1]+13。