【XSY2962】作业 数学
题目描述
有一个递推式:
f_0&=1-\frac{1}{e}\\
f_n&=1-nf_{i-1}
\end{align}
\]
求 \(f_n\)
\(n\leq 10000\)
题解
如果直接按照式子推的话会爆精度,因为误差是阶乘级别放大的。
但是我们可以逆过来递推。
f_\infty&=0\\
f_{n-1}&=\frac{1-f_n}{n}
\end{align}
\]
这样误差就是不断缩小的。
或者你直接推式子也是可以的。
f_n&=n!\sum_{i=0}^n\frac{{(-1)}^{n-i}}{i!}-n!{(-1)}^n\frac{1}{e}\\
&=n!\sum_{i=0}^n\frac{{(-1)}^{n-i}}{i!}-n!{(-1)}^n\sum_{i\geq 0}\frac{{(-1)}^i}{i!}\\
&=n!{(-1)}^n\sum_{i>n}\frac{{(-1)}^i}{i!}\\
\end{align}
\]
然后算个一万项就行了。
代码
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
int n;
int main()
{
scanf("%d",&n);
double ans=0,s=1;
for(int i=n+1;i<=20000;i++)
{
s/=i;
ans-=(i&1?-1:1)*s;
}
ans*=(n&1?-1:1);
printf("%.4lf\n",ans);
return 0;
}
【XSY2962】作业 数学的更多相关文章
- 练习推导一个最简单的BP神经网络训练过程【个人作业/数学推导】
写在前面 各式资料中关于BP神经网络的讲解已经足够全面详尽,故不在此过多赘述.本文重点在于由一个"最简单"的神经网络练习推导其训练过程,和大家一起在练习中一起更好理解神经网络训 ...
- [xsy2962]作业
题意:$f_0=1-\dfrac1e,f_n=1-nf_{n-1}$,求$f_n(n\leq10000)$,保留四位小数 这题代码只有⑨行但是题解很神... 因为递推式中有乘法,所以直接按题目来推肯定 ...
- bzoj 3791: 作业
Description 众所周知,白神是具有神奇的能力的. 比如说,他对数学作业说一声“数”,数学作业就会出于畏惧而自己完成:对语文作业说一声“语”,语文作业就会出于畏惧而自己完成. 今天,语文老师和 ...
- bzoj3791 作业
Description 众所周知,白神是具有神奇的能力的. 比如说,他对数学作业说一声“数”,数学作业就会出于畏惧而自己完成:对语文作业说一声“语”,语文作业就会出于畏惧而自己完成. 今天,语文老师和 ...
- BZOJ3791:作业(DP)
Description 众所周知,白神是具有神奇的能力的. 比如说,他对数学作业说一声“数”,数学作业就会出于畏惧而自己完成:对语文作业说一声“语”,语文作业就会出于畏惧而自己完成. 今天,语文老师和 ...
- 【BZOJ3791】作业 DP
[BZOJ3791]作业 Description 众所周知,白神是具有神奇的能力的.比如说,他对数学作业说一声“数”,数学作业就会出于畏惧而自己完成:对语文作业说一声“语”,语文作业就会出于畏惧而自己 ...
- Web实践—Rec 1
累计完成任务情况: 阶段内容 参与人 开会学习作业要求,取得共识 全体 注: 1."阶段内容"划斜线表示完成.2.采用倒序. 具体情况: 正式开展实践作业之前的说明: 按照之前达成 ...
- BZOJ-2326 数学作业 矩阵乘法快速幂+快速乘
2326: [HNOI2011]数学作业 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 1564 Solved: 910 [Submit][Statu ...
- bzoj2326: [HNOI2011]数学作业
矩阵快速幂,分1-9,10-99...看黄学长的代码理解...然而他直接把答案保存在最后一行(没有说明...好吧应该是我智障这都不知道... #include<cstdio> #inclu ...
随机推荐
- Android为TV端助力 关于4.0之后不能直接获取SD卡外部存储路径的问题
Environment.getExternalStorageDirectory()是Android 2.x时代的产物,那时Android主流设备只有很小的内置存储器,然后都会外置一张sd卡,那时这个方 ...
- 【资源分享】ArcFace Demo [Android]
虹软人脸识别引擎Android的Demo演示,可以直接下载使用. 下载地址: https://github.com/asdfqwrasdf/ArcFaceDemo readme: 工程如何使用? 下载 ...
- Java新知识系列 七
抽象类和接口的区别和特点 java的JDK中包含的五个工具 编译型语言和解释型语言 Java和C++的区别` 常见的ASCII的值 Forward和Redirect之间的对比 Web Service ...
- 什么是基于风险的测试(RBT)?
基于风险的测试(Risk-based testing) 文/杨学明 一.基于风险的测试起源 基于风险的测试起源,在软件测试领域,基于风险测试最早的是测试大师Boris Beizer<软件测试技术 ...
- Windows Server 2016-查询并导出固定时间段创建AD用户
生产环境中往往我们有各式各样的需求,例如快速查询某段时间创建用户,或批量导出固定时间段创建用户列表,具体操作如下: $date=Get-Date $oldday=(Get-Date).AddDays( ...
- 日志学习系列(三)——NLog基础知识
前边我们解释了log4net的学习,我们再介绍一下NLog 一.什么是NLog NLog是一个基于.NET平台编写的类库,我们可以使用NLog在应用程序中添加极为完善的跟踪调试代码.NLog是一个简单 ...
- javaScript判断手机型号
window.onload = function () { alert("1"); var u = navigator.userAgent; if (u.indexOf('Andr ...
- 在dialog的content中嵌入select的获取选中值方法
var shortNameList = "<select><option value='1'>1</option><option value='2' ...
- Spring Security(三十六):12. Spring MVC Test Integration
Spring Security provides comprehensive integration with Spring MVC Test Spring Security提供与Spring MVC ...
- leetcode 224. Basic Calculator 、227. Basic Calculator II
这种题都要设置一个符号位的变量 224. Basic Calculator 设置数值和符号两个变量,遇到左括号将数值和符号加进栈中 class Solution { public: int calcu ...