链接:https://ac.nowcoder.com/acm/contest/11356/B
来源:牛客网
Etéreo 最近又发现了一个高大上的东西:\ln \Upsilon = 1lnΥ=1
他觉得这里的 \UpsilonΥ 同样非常的厉害!然后他又告诉你:
\delta^{\Upsilon} = \underbrace{\Xi + \Xi + \Xi + \cdots + \Xi}_{\zeta \text{个} \Xi}δ
Υ
ζ个Ξ
Ξ+Ξ+Ξ+⋯+Ξ
他会告诉你 \deltaδ 和 \zetaζ ,想请你告诉他 \XiΞ 的值。当然这是一个小数,所以请你在小数点后保留 \sigmaσ 位。
Etéreo 是个“问题小子”,有很多询问,请你一一回答。
注意,题中 \Upsilon, \Phi, \XiΥ,Φ,Ξ 都是实数。
输入描述:
第一行一个整数 TT ,表示 Etéreo 的询问个数。
接下去 TT 行,每行三个整数 \delta, \zeta, \sigmaδ,ζ,σ ,表示一个询问,意义同题目描述。
输出描述:
输出共 TT 行,每行一个小数,表示答案 \XiΞ。
示例1
输入
复制
2
147 3 2
80 6 4
输出
复制
259572.14
24830.3979
备注:
1 \leq \delta \leq 2001≤δ≤200
1 \leq \zeta \leq 1001≤ζ≤100
1 \leq \sigma \leq 51≤σ≤5
1 \leq T \leq 5001≤T≤500
题中小数请尽量取精确值。
整数的小数次幂可以用pow来实现
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
const double e = 2.718281828459045;
int main(){
int T;
scanf("%d", &T);
while(T --){
int a, b, c;
scanf("%d%d%d", &a, &b, &c);
a = (double)a;
double res = (double)pow(a, e)/ (double)b;
if (c == 1) printf("%.1f\n", res);
else if (c == 2) printf("%.2f\n", res);
else if (c == 3) printf("%.3f\n", res);
else if (c == 4) printf("%.4f\n", res);
else if (c == 5) printf("%.5f\n", res);
}
return 0;
}