问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

这个c程序怎样修改才能求出20的阶乘或者更大数的阶乘?

发布网友 发布时间:2022-04-22 22:05

我来回答

2个回答

热心网友 时间:2023-07-14 15:29

如果对精度要求不高,可以用double类型,如果要求精确结果,那就要自己组织数据了

以前写过一个暴力计算的,计算算到10000!没问题,你可以参考下:

//暴力模拟手工阶乘计算,用数组保存结果,每元素保存4位
#include <stdio.h>
#define N 10000
int main()
{
static long int r[N] = { 1 };
int i, j,n;
int k = 0, l = 0;
printf("输入一个数求其阶乘\n");
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
for (j = 0; j <= l; j++)
{
r[j] = r[j] * i + k;
k = r[j] / 10000;
r[j] = r[j] % 10000;
}
if (k)
{
l++;
r[j] = k;
k = 0;
}
}
j = l;
printf("%d!=%d", i-1, r[j--]);
for (; j >= 0; j--)
{
printf("%04d", r[j]);
}
printf("\n");
return 0;
}

热心网友 时间:2023-07-14 15:29

这是数据类型*的,要想求20,就把int改成long就行。
要想求更大,就得好好设计一下了,比如说,整个链表什么的,把一个大数拆成几个小一点的的数追问能不能帮我改一下程序?

追答给你个建议吧,你上网搜一搜计算器代码,也许对你有帮助。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
高考560分能上211大学吗? - 知乎 河北高考多少分能上211大学 河北2023高考211分数线是多少? 考560分能上211大学吗河北 刀剑英雄合王者武器多少费用 刀剑英雄帝辰王者现在什么价位 2021年度工程施工合同范本 2021承包转让简单的合同范本 2021医院食堂承包合同范本 div+css+js实现菜单的收缩与展开 调用数据库内容的时候为什么内容字段... 2019公司个人年终工作总结 C中大数的取余怎么写啊? 公司和个人可以统称什么? 如何输入一个大数 很大的数 并进行计算的 大数相加求修改 两个大数相加程序修改。为什么会乱码,求修改 C++大数阶乘算法改良 亿以上的大数改写成用万做单位后,怎样读? Vista如何修改网络连接最大数 如何把科学计数法复原回大数? 怎样更改电脑硬盘分区最大数 大数的改写直等于怎么改写 请问如何在EXCEL表格中设置最大数与最小数,如输错不能输入或有提示 C++编程,如何处理大数的问题? 如何修改分区最大数? 怎样将一个大数改成用万或亿作单位的数? 电脑显示器两边有黑边怎么办? 电脑屏幕两边有黑边是怎么回事,怎么改回全屏啊,急急急!! 电脑的屏幕两边有黑边是为什么? 我的电脑屏幕两边都有黑边,是为什么啊?怎么调回来啊?在线等,谢谢, 注册公司对个人有什么好处? 公司发展与个人发展的关系是什么? C语言中如何实现大数计算 求解,如何对一个大数进行质因数分解 如何实现企业与个人共同发展? c语言大数减法该如何实现? 如何在淘宝开店铺详细步骤? 公司和个体的区别?急,急。 如何用一个支付宝开店 公司可以个人独资吗 个人能注册公司吗? 个人公司是什么意思 实体店怎么签约支付宝开店 公司个人贺词 个人注册公司需要哪些材料 个人怎么注册公司 公司个人月总结怎么写 个人公司和有限公司有什么区别? 炸鸡腿要不要先煮熟,要不怎样能把里面炸熟 炸鸡腿的鸡腿,需要煮熟再炸吗?