编写函数f(n)计算,f(n)=1+1/2!+1/3!+……+1/n!

qq_44092392 2018-12-13 09:48:58
大神们帮帮忙
...全文
1396 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ooolinux 2018-12-14
  • 打赏
  • 举报
回复
关键是找规律,前后两项的差异与循环变量的关系,每一项怎么用变量和循环变量表示出来,注意一下数据类型就可以了。
ooolinux 2018-12-14
  • 打赏
  • 举报
回复
遇到这种,先写出每一项,分子用变量表示,这里固定是1就不用变量了,分母用一个变量表示,后面一项的分母等于前面一项分母乘于循环变量i(相邻两项之间都有规律),用循环把各项加起来就可以了。
qq_44092392 2018-12-14
  • 打赏
  • 举报
回复
谢谢
  • 打赏
  • 举报
回复
如果不要求高精度很简单:
double f(int n)
{
if (n < 1) return 0;
double r = 1, fn = 1;
for (int i = 2; i <= n; i++) r += fn = fn / i;
return r;
}

要求高精度可以用GMP库

552

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 茶馆
社区管理员
  • 茶馆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧