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

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

筛选

大数的阶乘C语言代码

解题思路:大数的阶乘很容易超出基本数据类型的范围造成数据溢出,所以需要定义一个数组来存储数据(数组可以存放无限大的数据)。阶乘的本质就是数的相乘,因此在计算大数的阶乘的时候可以通过模拟笔算的方式,将数拆分成每一位,然后让每一位依次与数相乘,进位的数与前一位相加后如果还需要进位则继续按照这个逻辑计算,

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

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

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

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

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

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

C语言训练——计算1977!

####解题思路****大数据的乘法需要用到数组来计算****因为乘数是小于等于1977的,即这是高精数乘低精数(高精指超大数)高精乘低精![](/image_editor_upload/20220315020140_20298.png)用数组的每一位去乘以乘数,