POJ 1005-I Think I Need a Houseboat

来源:互联网 发布:ardupilot 源码下载 编辑:程序博客网 时间:2024/06/05 03:41

每年的土地流失面积一定,但是流失的土地的半径增长却是逐渐变缓的。

即第n年的流失的土地半径满足关系 :rn ^ 2 = 100n / pai

可以变换一下形式,即 n = pai * rn ^ 2 / 100

而某点到圆心的距离的平方为 d ^ 2 = x ^ 2 + y ^ 2


显然,n年是满足系数为1的正比例函数的。

所以当给定了一个点的坐标时,根据该坐标所求得的距离圆心的长度二算出的n,就是土地流失的时间。

而由于年份应该取正整数,所以需要进行一下向上取整处理。

 即 n = [d ^ 2 * pai / 100] + 1



#include <stdio.h>#include <stdlib.h>#include <math.h>#define PAI 3.1415926int main(){    int N, i, r, n;    float x, y;    float a;    scanf("%d", &N);    for(i = 0; i < N; i++)    {            scanf("%f%f", &x, &y);            n = i + 1;            //a = sqrt(((x * x + y * y) * PAI / n) / 10);            a = (x * x + y * y) * PAI / 100;            printf("Property %d: This property will begin eroding in year %d.\n", n, ((int)a + 1));    }    printf("END OF OUTPUT.");    return 0;}


0 0
原创粉丝点击