链接:https://www.nowcoder.com/acm/contest/85/A
来源:牛客网
题目描述
Etéreo 是个爱学习的好孩子。在年假期间,他依然热情于数学。他最近发现了一个高大上的东西:
他觉得这里的 非常的厉害!然后他又告诉你:
他会告诉你 和 ,想请你告诉他 的值。当然这是一个小数,所以请你在小数点后保留 位。
Etéreo 是个“问题小子”,有很多询问,请你一一回答。
注意,题中 都是实数。
输入描述:
第一行一个整数 ,表示 Etéreo 的询问个数。
接下去 行,每行三个整数 ,表示一个询问,意义同题目描述。
输出描述:
输出共 行,每行一个小数,表示答案 。
示例1
输入
2
5 196 1
3 60 4
输出
29089.0
1205.1322
备注:
题中小数请尽量取精确值。
这个题就是控制精度问题,以及要知道自然数e如何求出,
也可以定义#define e 2.71828
用两种方法,就是一个是C++IO流输出,另一个是C语言输出格式
C语言版
#include <stdio.h>
#include <algorithm>
#include <math.h>
int main()
{
double e;
e = exp(1);
int n;
scanf("%d",&n);
int a,b,r;
for(int i = 1; i <= n; i++)
{
scanf("%d%d%d",&a,&b,&r);
double ans = 0;
double temp = 1.0;
for(int i = 1; i <= a; i++)
{
temp *= e;
}
ans = temp;
ans *= b;
printf("%.*f\n",r,ans);
}
}
C++版
#include <stdio.h>
#include <iostream>
#include <algorithm>
#include <iomanip>
#include <math.h>
using namespace std;
int main()
{
double e;
e = exp(1);
int n;
cin>>n;
int a,b,r;
for(int i = 1; i <= n; i++)
{
cin>>a>>b>>r;
double ans = 0;
double temp = 1.0;
for(int i = 1; i <= a; i++)
{
temp *= e;
}
ans = temp;
ans *= b;
cout<<setiosflags(ios::fixed)<<setprecision(r)<<ans<<endl;
}
}