请你帮他准确的计算出结果a = n
π
(n的π次方),结果保留小数点后x位。
第一行是一个整数t,表示测试实例的个数;
然后是t行输入数据,每行包含两个正整数n和x,表示底数和保留位数。
(1 <= t <= 100,1 <= n <= 500,1 <= x <= 6)
对于每组输入数据,分别输出结果a,每个输出占一行。
定义acos(-1.0)等于π,在printf中.表示小数点后的数,*代表从完整的数中保留的位数的符号,x代表保留小数点后的位数,a代表完整的数
#include<bits/stdc++.h>
using namespace std;
const double pi=acos(-1.0);//求π的值
int main()
{
int n,t,x;
double a;
cin>>t;
while(t--){
cin>>n>>x;
a=pow(n,pi);
printf("%.*lf\n",x,a);
}
return 0;
}
using namespace std;
const double pi=acos(-1.0);//求π的值
int main()
{
int n,t,x;
double a;
cin>>t;
while(t--){
cin>>n>>x;
a=pow(n,pi);
printf("%.*lf\n",x,a);
}
return 0;
}
因为此题的测试数据少,可以枚举每一个数的结果
#include<stdio.h>
#include<math.h>
#include<string.h>
#define pi 3.1415926535897932384626433832795028841971693993751058209749
int main()
{
long long int t,p,L,i,j,x;
double s,n;
scanf("%d",&t);
while(t--)
{
scanf("%lf %lld",&n,&x);
s=pow(n,pi);
switch(x)
{
case 1: printf("%.1lf\n",s);
break;
case 2: printf("%.2lf\n",s);
break;
case 3:printf("%.3lf\n",s);
break;
case 4:
printf("%.4lf\n",s);
break;
case 5:
printf("%.5lf\n",s);
break;
case 6:
printf("%.6lf\n",s);
break;
}
}
return 0;
}