编程实现:求1+1/2!+1/3!+...+1/n!,直到使最后一项1/n!小于10-4。
答案:1 悬赏:0
解决时间 2021-01-19 13:37
- 提问者网友:我一贱你就笑
- 2021-01-18 15:16
编程实现:求1+1/2!+1/3!+...+1/n!,直到使最后一项1/n!小于10-4。
最佳答案
- 二级知识专家网友:话散在刀尖上
- 2021-01-18 16:00
这是在求e吧。
#include
#define precision 0.0001
int fact(int n) {
if (n==1) return 1;
return n* fact(n-1);
}
int main() {
double sum=0, item=1;
int i=1;
while ((item=1.0/fact(i))>precision) {
i++;
sum += item;
}
printf("%.16f", sum);
}
追问:兄弟你好我想问下求e是啥意思这道题是我期末考试范围题
追答:我错了,光看后面.71828了,忘了看前面,结果是171828
追问:嗯 我知道自然底数e我是不明白这个题为什么要求e这个题和求e有什么关系。题目中也没设计到和e有关的东西啊
追答:不是。求e的公式是:e=1+1/1! + 1/2! + 1/3! + ... + 1/n!
这个程序就是按这个公式来求结果的。(你给的公式里,好像少写了1)
追问:嗯谢谢兄弟 不过题目我没有抄错那么在少了个写了个一的情况下你给我的答案还是正确的对吧
追答:正确。没看我的运算结果,因为少了个1,所以结果变成了1.7182...,而不是2.7182...
追问:嗯好的谢谢你了兄弟以后还要多多请教你了
#include
#define precision 0.0001
int fact(int n) {
if (n==1) return 1;
return n* fact(n-1);
}
int main() {
double sum=0, item=1;
int i=1;
while ((item=1.0/fact(i))>precision) {
i++;
sum += item;
}
printf("%.16f", sum);
}
追问:兄弟你好我想问下求e是啥意思这道题是我期末考试范围题
追答:我错了,光看后面.71828了,忘了看前面,结果是171828
追问:嗯 我知道自然底数e我是不明白这个题为什么要求e这个题和求e有什么关系。题目中也没设计到和e有关的东西啊
追答:不是。求e的公式是:e=1+1/1! + 1/2! + 1/3! + ... + 1/n!
这个程序就是按这个公式来求结果的。(你给的公式里,好像少写了1)
追问:嗯谢谢兄弟 不过题目我没有抄错那么在少了个写了个一的情况下你给我的答案还是正确的对吧
追答:正确。没看我的运算结果,因为少了个1,所以结果变成了1.7182...,而不是2.7182...
追问:嗯好的谢谢你了兄弟以后还要多多请教你了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息