链接:https://ac.nowcoder.com/acm/contest/85/A
来源:牛客网
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %lld
题目描述
Etéreo 是个爱学习的好孩子。在年假期间,他依然热情于数学。他最近发现了一个高大上的东西:Θ=limν→∞(1+1ν)ν\Theta = \lim_{\nu \rightarrow \infty} (1+\frac{1}{\nu})^\nuΘ=limν→∞(1+ν1)ν
他觉得这里的 Θ\ThetaΘ 非常的厉害!然后他又告诉你:
Ψ=Θ×Θ×Θ×⋯×Θ⏟α个Θ\Psi = \underbrace{\Theta \times \Theta \times \Theta \times \cdots \times \Theta}_{\alpha \text{个} \Theta}Ψ=α个ΘΘ×Θ×Θ×⋯×Θ
Ω=Ψ+Ψ+Ψ+⋯+Ψ⏟β个Ψ\Omega = \underbrace{\Psi + \Psi + \Psi + \cdots + \Psi}_{\beta \text{个} \Psi}Ω=β个ΨΨ+Ψ+Ψ+⋯+Ψ
他会告诉你 α\alphaα 和 β\betaβ ,想请你告诉他 Ω\OmegaΩ 的值。当然这是一个小数,所以请你在小数点后保留 γ\gammaγ 位。
Etéreo 是个“问题小子”,有很多询问,请你一一回答。
注意,题中 Θ,Ψ,Ω\Theta, \Psi, \OmegaΘ,Ψ,Ω 都是实数。
输入描述:
第一行一个整数 TTT ,表示 Etéreo 的询问个数。 接下去 TTT 行,每行三个整数 α,β,γ\alpha, \beta, \gammaα,β,γ ,表示一个询问,意义同题目描述。
输出描述:
输出共 TTT 行,每行一个小数,表示答案 Ω\OmegaΩ。
示例1
输入
复制
2 5 196 1 3 60 4
输出
复制
29089.0 1205.1322
备注:
1≤α≤101 \leq \alpha \leq 101≤α≤10 1≤β≤2001 \leq \beta \leq 2001≤β≤200 1≤γ≤51 \leq \gamma \leq 51≤γ≤5 1≤T≤5001 \leq T \leq 5001≤T≤500 题中小数请尽量取精确值。
题解:
考察高等数学Ⅰ的知识,lim(v→∞)(1+1/v)^v的值为自然底数e。
还要用到cmath库中的exp()函数,exp(x)=e^x。
#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;
int main()
{
int n;
cin>>n;
int a,b,c;
while(n--)
{
cin>>a>>b>>c;
double ans=exp(a)*b;
if(c==1) printf("%.1lf\n",ans);
if(c==2) printf("%.2lf\n",ans);
if(c==3) printf("%.3lf\n",ans);
if(c==4) printf("%.4lf\n",ans);
if(c==5) printf("%.5lf\n",ans);
}
return 0;
}
在做这道题的时候,我先把答案ans定义为int类型,输出的时候强制转换为double,结果答案中的小数位全为0。后来想想,强制转换前已经是整数了,转换后可不是也是整数,小数位为0吗?
本文探讨了数学极限的概念,特别是在高等数学中lim(v→∞)(1+1/v)^v的值等于自然底数e的原理。通过使用C++语言和cmath库中的exp()函数,演示了如何计算涉及该极限的复杂表达式的数值解,保留指定的小数位数。

3506

被折叠的 条评论
为什么被折叠?



