【问题标题】:How to Compute Digits of factorial in best efficient如何以最佳效率计算阶乘位数
【发布时间】:2015-06-11 23:16:57
【问题描述】:

我知道通过以下方式计算阶乘位数的方法。

让 n!被发现。

temp = 0.0;
for(i = 1; i <= n; i++){ 
temp += log(i);
}
result = (int)temp;
result++;

我在这里寻找更有效的方法来计算阶乘的位数。

注意:请回答用 C++ 编码

【问题讨论】:

  • 我不确定您提供的代码是否有效。 `结果++; 是什么? = (int)temp;` ??
  • 这是我的错误。现在更正了。谢谢

标签: c++ factorial digits


【解决方案1】:

这个问题的pythonic解决方案:

len(list(str(num)))

在 c 中计算每个数字的位数,您可以使用此代码:

int c=2;
while((num/10)>10) {
    num=(int)a/10;
    c++;
    }

【讨论】:

  • 你不懂python还是没有python?如果您没有 python,您可以使用在线解释器,例如:link
  • 我不明白这对回答问题有何帮助
  • 我不懂python。我只知道 C 和 C++。请帮助我使用 C++ #Sara_Santana
猜你喜欢
  • 1970-01-01
  • 2015-04-19
  • 2014-09-23
  • 2023-03-22
  • 1970-01-01
  • 1970-01-01
  • 2011-04-16
  • 1970-01-01
相关资源
最近更新 更多