题目链接:http://poj.org/problem?id=1005
题意:密西西比河岸某处陆地因为河水侵蚀,每年陆地面积都在减少,每年减少50平方英里,减少的陆地面积呈半圆形,即该半圆形面积以每年50平方英里的速度增长。在第一年初时,该半圆形面积为0,半圆形的圆心坐标为(0,0),现在的任务是给定一个坐标,求出该坐标在哪一年年底会被河水侵蚀。假设给定的坐标到圆心的距离不会等于半圆的半径。
题解:以该点据圆心距离为半径求出半圆面积即可。
#include <stdio.h>
const float s = 100.0 , pi = 3.14;
int main() {
int n , z , m , i = 0;
float x , y , r2 , d2;
while(~scanf("%d",&n)) {
while(n --) {
i ++;
scanf("%f%f",&x,&y);
d2 = x*x + y*y;
for(z=1;;z++) {
r2 = z*s/pi;
if(r2 > d2) {
printf("Property %d: This property will begin eroding in year %d.\n",i,z);
break;
}
}
}
puts("END OF OUTPUT.");
i = 0;
}
return 0;
}