假设你考虑在Louisiana 购买一些土地,并在土地上建设你的家。在对土地的调查中发现,由于Mississppi河的侵蚀,Louisiana州的土地每年减少50平方英里。所以需要知道是否你的土地会因为河流的侵蚀而丧失。
在做了很多的研究后,你发现正在失去的土地构成一个半圆形。这一半圆形是一个圆的一部分,圆心在(0,0),二等分这个圆的线是X轴,X轴下方是水。在第1年开始的时候,这一半圆的面积是0。
输入:
输入的第一行是一个正整数,表示有多少个测试数据集(N)。后面有N行,每行给出笛卡尔坐标X和Y,表示你购买土地的位置。这些数是浮点数,以英里为单位。Y坐标非负。不会给出(0,0)。
输出:
对每个输入的测试数据集,输出一行。形式为“Property N:This property will begin eroding in year Z.”,其中N是数据集(从1开始计数),Z是你的土地到第Z年结束的时候要落到半圆形中的那一年(从1开始计数),Z必须是一个整数。在最后一个数据集后,输出“END OF OUTPUT.”。
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
int n,i=1;
double x,y,z;
cin>>n; //N组测试数据集
while(i<=n){
cin>>x>>y; //每组测试数据集的x和y坐标
z=M_PI/100*(pow(x,2)+pow(y,2)); //M_PI表示π
cout<<"Property "<<i<<":This property will begin eroding in year "<<ceil(z)<<"."<<endl;
i++;
}
cout<<"END OF OUTPUT."<<endl;
return 0;
}
运行结果:
总结:
其中ceil(x)为向上取整,floor(x)为向下取整。