C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了C程序来计算大阶乘的商大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我如何编写一个c程序来计算大阶乘.

例如,如果我想计算(100!)/(99!),我们知道答案是100,但如果我分别计算分子和分母的阶乘,两个数字都是巨大的.

解决方法

扩大Dirk的答案(哪个是正确的):
#include "math.h"
#include "stdio.h"
int main(){
  printf("%lf\n",(100.0/99.0) * exp(lgAMMa(100)-lgAMMa(99)) );
}

尝试它,它真的做你想要的,即使它看起来有点疯狂,如果你不熟悉它.使用一个bigint库将是非常低效的.拍摄伽马的日志是超快的.这一切立即运行.

您需要乘以100/99的原因是gAMMa相当于n-1!不是!那么是的,你可以直接做exp(lgAMMa(101)-lgAMMa(100)).另外,伽玛不仅限于整数而定义.

大佬总结

以上是大佬教程为你收集整理的C程序来计算大阶乘的商全部内容,希望文章能够帮你解决C程序来计算大阶乘的商所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。