题解 2845: 求10000以内n的阶乘

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

筛选

2845: 求10000以内n的阶乘

解题思路:用字符串或者数组都可以,但我觉得数组更好理解,虽然大部分同学都是用字符串写的。注意事项:直接看代码注释,主要注意处理进位问题和前导0,其他的和普通阶乘没什么区别参考代码:#include#defineMAX40000intmain(){intn;scanf("%d",

求10000以内n的阶乘

解题思路:注意事项:Python默认限制了可以转换为字符串的整数的最大位数为4300位。由于10000的阶乘远大于这个限制,因此抛出了ValueError。参考代码:importmathimportsyssys.set_int_max_str_digits(100000)#设置sys.set_int_

简单易理解 求10000以内n的阶乘

解题思路:注意事项:参考代码:importjava.util.Scanner;importjava.math.BigInteger;publicclassMain{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);in

求10000以内n的阶乘(c语言)

摘要:解题思路:循环里嵌套一个乘法:把大数a存到数组里,让数组的每一个数都乘以另一个数b,数值溢出就向前进位。注意事项:参考代码:#include<stdio.h>intmain(v……

2845: 求10000以内n的阶乘

通过多设一个全零数组实现计算:```c#include#includeintmain(){intres[100000]={1},s[100000]={0},i,j,n,l;scanf("%d",&n);if(n==0||n==1){printf("1");}else{l=strlen(res);for

python--study||O.o

摘要:参考代码:n = int(input()) res = 1 for i in range(1, n + 1):     res *= i print(res)……

~~【Java】版本~~

摘要:解题思路:注意事项:参考代码:import java.util.*; import java.math.*; public class Main { public static void ……