2018 Multi-University Training Contest 6 A oval-and-rectangle【精度】
阿新 • • 發佈:2018-12-24
用定積分推匯出答案是 2.0*b+a*pi
但是答案要求忽略掉第七位,所以不可以直接用double(四捨五入)。
要麼轉換成長整型,要麼將double第七位的隱患解決掉(感覺可以二分,很囉嗦但很有效)。
#include <iostream>
#include <stdio.h>
#include <math.h>
using namespace std;
const int maxn = 1e5+55;
const double eps = 1e-7;
const double pi = acos(-1);
double a,b;
#define LL long long
int main()
{
int T;
scanf("%d",&T);
while(T--){
cin>>a>>b;
double ans = 2.0*b+a*pi;
// printf("%.6lf\n",ans);
LL aa=ans*1000000;
LL bb=aa%1000000;
aa=aa/1000000;
printf("%lld.%06lld\n",aa,bb);
}
return 0;
}