首页 > 试题广场 >

计算200以内正整数的阶乘

[编程题]计算200以内正整数的阶乘
  • 热度指数:2763 时间限制:C/C++ 5秒,其他语言10秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
编写一段程序,用于计算200以内正整数的阶乘

要求:  不允许使用任何第三方库。



输入描述:
N为不超过200的正整数



输出描述:
如果N >= 1 并且 N <=200 ,输出N的阶乘
如果N是别的数字,输出 Error

示例1

输入

10

输出

3628800

说明

10的阶乘为  3628800 
头像 TheAlice
发表于 2022-08-24 23:37:23
提供一种新思路:递归优化+BigInteger的使用 将阶乘的逻辑简化为 单例解释: 1 * 2 * 3 x * y z = x * y = 1 * 2 = 2; 此时让x保存z(已计算)的值,并且让y向后移动一位 x = z y ++ 此时x = 2为2!的 展开全文