首页 > 编程知识 正文

python计算n的阶乘,阶乘的计算公式

时间:2023-05-06 12:59:41 阅读:272554 作者:2623

阶乘计算虽然可以通过循环、递归或者使用静态变量等方法实现,但是这些方法仅限于结果较小的情况。100的阶乘有158位,显然在使用C++时很难保证直接计算时不会产生溢出。

这里可以采用数组的方式存储计算结果的每一位,然后按位计算阶乘的大小,最后将结果以字符串的方式输出。


void Func(int n, char *pOut){if(pOut == NULL)return;int chrs[256];int idx(1);chrs[0] = 1;for(int i = 1; i <= n; i++){int cry = 0;for(int j = 0; j < idx; j++){chrs[j] = chrs[j] * i + cry;cry = chrs[j] / 10;chrs[j] %= 10;}while(cry > 10){chrs[idx++] = cry % 10;cry /= 10;}if(cry > 0)chrs[idx++] = cry;}for(int i = idx - 1; i >= 0; i--){*pOut++ = chrs[i] + '0';}*pOut = '';return;}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。