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

计算阶乘 C语言高手请进!

发布网友 发布时间:2022-05-24 10:28

我来回答

5个回答

热心网友 时间:2023-10-10 19:14

呵呵,我前段时间也在学,下面是我写的递归法,请多多指教
long
fac(long
x)
{
if
(x==1)
return
1;
else
return
fac(x-1)*x;
}
int
main()
{
cout<<"递归方法求一个数的阶乘!"<
>n;
cout<<"\n"<
>go;
if
(go=='y'||go=='y')
quit=1;
else
if
(go=='n'||go=='n')
quit=0;
else
{quit=0;cout<<"\n输入错误!";}
}
cout<
评论
0
0
加载更多

热心网友 时间:2023-10-10 19:14

有速度要求就用链表吧 4位1个结点 万进制

热心网友 时间:2023-10-10 19:14

1楼写到太麻烦了
为了保证位数够,我只定义了20000位,求10000!应该都够了

#include <stdio.h>
int main()
{
int n = 1;
scanf("%d",&n);
int a[20000];
int carry;
int i;
int digit = 1;
a[0] = 1;
int temp;
for(i = 2; i <= n; ++i)
{
carry = 0;
for(int j = 1; j <= digit; ++j)
{
temp = a[j-1] * i + carry;
a[j-1] = temp % 10;
carry = temp / 10;
}
while(carry)
{
a[++digit-1] = carry % 10;
carry /= 10;
}
}
for(i = digit; i >=1; --i)
{
printf("%d",a[i-1]);
}
printf("\n");
n++;
return 0;
}

热心网友 时间:2023-10-10 19:15

楼上的很好很强大。
我这个是考试用的。
main()
{
long answer=1;
int i;
int N;
scanf("%d",&N);
if(N==0||N==1)answer=1;
else
for(i=2;i<=N;i++)answer=answer*i;
printf("%di=%d",N,answer);
}

热心网友 时间:2023-10-10 19:16

#include <stdio.h>
int main()
{
int res[3000]={0}; //1000位结果不可能多于3000位
int n,high = 0;res[0] = 1;
scanf("%d",&n);
for(int i = 1; i <= n; i++) {
for(int j = 0; j <= high; j++) res[j] *= i;
for( j = 0; j < high; j++) {
res[j+1]+=(res[j]/10);
res[j]%= 10;
}
while(res[high] > 9) {
int carry = res[high] / 10;
res[high] %= 10;
res[++high] += carry;
}
}
// 输出
for( i = high; i >= 0; i--) {
printf("%d",res[i]);
}
printf("\n");
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
手机导航用电脑软件哪个好导航软件哪个最准确 我要地图网使用我要地图网轻松查询地图信息 装配行业MES系统四大车间管理活动介绍 王者荣耀S14狂铁怎么玩_王者荣耀S14狂铁出装铭文推荐 沅陵县有姓文的分布在那个地方, 汨罗一中在省排名 汨罗高中有哪些? 湖南省岳阳市汨罗有哪些高中 新生儿脊膜膨出后遗症 在深圳硬脊膜膨出手术后大小便失禁怎么办? 对于c语言处理数学阶乘问题 C语言中怎么求一个数的阶乘的位数 C语言要求原创计算一个整数的阶乘: 例:请输入一个整数:5 输出:5的阶乘为:5*4*3*2*1 = 120? 孩子断奶喝牛奶后大便干燥怎么办 喝牛奶后大便特别干 宝宝上幼儿园喝牛奶便秘 系统休眠和睡眠有什么区别啊?我发现睡眠模式后风扇还在转,休眠就不会。 蓝牙耳机可以当电脑的耳机和麦克吗? 微信给别人发红包没有领取二十四小时被退回 在被退回之前有用微信支付和登陆其他软件输入验证码等安全吗? 末日边城传小说txt全集免费下载 昨天晚上梦下好好大大的雪了,(从小就听说做梦梦到血就是喜 梦到雪或者白色就是不好的.)帮帮我..很担心.. 地震的发生到底应该用take place 还是 happen ? take place 指有计划的发生,happen 指偶然的发生。 地震可能会因为人类什么行为发生? 有没有人觉得最近发生的地震不是自然循环的偶然.而是人为创造的必然...相信是高科技的仪器的所为吗 请问青海玉树地震是必然还是偶然的? 地震是一种突然发生的自然灾害,没有任何征兆? 吉首发生的地震是偶然的吗 地震地点是偶然还是有谁在隐瞒什么呢? 穿过地平线中地震是偶然发生的吗 地震是一瞬间发生的吗 现在用这种餐巾纸的饭店多吗? 谁能告诉我这种用餐巾纸叠成后染色的花是怎么做的 石家庄电话号码查询67508326是哪的电话号码? 石家庄固定电话费查询方法 石家庄固定电话归属地查询 数码大师制作的视频怎么导出来?把图片和音乐结合的文件当做普通的视频生成。 急!数码大师dmf格式的视频怎么转换成mp4格式!!??急急急!! 还未注册的数码大师做出的视频怎么保存到电脑里 数码大师里把照片弄成视频后能保存下来播放不了或者用什么播放 格式工厂怎么转换,转换老是出错,数码大师相册礼包转换成视频~ 大神在哪?我用数码大师做了一个视频,转换为MP4格式的,大概是130M左右,我想传到手机用户上面, 我的鼻子每天都流血,怎么办? 有肝硬化患者流鼻血几个小时止不住,这是怎么回事? 肝硬化病人为什么鼻子老流血 我经常流鼻血,请问有什么好的办法治疗流鼻血,如果在流鼻血时用什么好的办法来止血? 肝癌患者牙龈和鼻子出血怎么处理 求邮件地址列表,用于群发。谢谢 蚝干要怎么烹饪才好吃,怎样做最原汁原味 一般扑克背面能认牌么 抢红包反映了现在的什么???抢红包的利与弊