缩小的陆地
来源:互联网 发布:java for循环 编辑:程序博客网 时间:2024/04/20 02:05
问题描述
Fred正在考虑在路易斯安那州找一块土地在上面建造他的房子。在调查过程中,他了解到路易斯安那州的陆地正以每年50平方英里的速度缩小,原因是密西西比河对陆地的侵蚀。由于Fred希望他的余生都能居住在这所房子里,所以他需要知道他的土地是否会被河水侵蚀。
Fred做了更多的研究后发现,正在损失的陆地呈现出一个半圆形的形状,这个半圆是以(0,0)为圆心的圆的X轴以上的部分,X轴以下的区域是河水,在第一年开始时这个半圆的面积是0。(如下图所示)
Fred做了更多的研究后发现,正在损失的陆地呈现出一个半圆形的形状,这个半圆是以(0,0)为圆心的圆的X轴以上的部分,X轴以下的区域是河水,在第一年开始时这个半圆的面积是0。(如下图所示)
输入格式
第一行是一个正整数表示接下来有多少组数据,以下的每一行代表一组数据,每组数据由两个浮点数组成,以空格隔开,分别代表Fred房子在平面内的坐标X和Y,单位是英里,其中Y>=0。
输出格式
对于每一组输入数据,输出一个整数Z,代表Fred的房子会在第Z年中被河水侵蚀。如果在第Z年结束时Fred的房子正好在半圆的边界上,那么应该算作是在第Z+1年被侵蚀,返回Z+1。每个返回结果占一行。
样例输入
2
1.0 1.0
25.0 0.0
1.0 1.0
25.0 0.0
样例输出
1
20
20
思路:
简单的两个公式:圆的面积和直角三角形的斜边长。先求出半径,在算出半圆的面积,在用循环依次的-50,记录年份的变量自增,当面积小于0就停止循环输出年数。
代码:
#include <stdio.h>#include <math.h> #define P 3.1415926main(){int n,c=0;double x,y,s,r;scanf("%d",&n);while (n--){c=0;scanf("%lf%lf",&x,&y);//半径r r=sqrt(x*x + y*y);//面积 s=P * r*r ;//半圆面积 s=s/2;while (s>0){c++;s=s-50; //每减一次50,则c+1,年份增1 }if (s==0) //刚好减为0则要+1 printf("%d\n",c+1);elseprintf("%d\n",c);}}
0 0
- 缩小的陆地
- 缩小的陆地+排序
- Tsinsen_ A1016. 缩小的陆地
- 【ACM之旅】缩小的陆地
- 刷清橙OJ--A1016.缩小的陆地
- 清橙A1016.缩小的陆地
- Tsinsen 清橙 A1016. 缩小的陆地 (pi)
- 陆地
- 陆地与线的碰撞
- PS超强合成飘移的陆地
- TV陆地与HeightField的转换探讨
- 中国陆地生态系统变化的空间特征
- 三角洲3陆地勇士局域网对战的突破
- [Leetcode-200]Number of Islands 陆地的数量
- 放大缩小的代码
- 图片的按比例缩小.
- 单色图的缩小
- 图片的放大缩小
- 手机微信目录
- 闪回数据归档实验(Flashback Data Archive)
- c语言学习100例(1-5)
- 贝叶斯公式中各项的理解
- Java发送邮件
- 缩小的陆地
- 闪回删除实验
- 闪回数据库实验
- XAMPP各个版本配置
- Java-JDBC编程-MySQL环境变量的配置
- Spring依赖注入的三种方式详解之三:工厂方法注入
- 条款二十八: 智能指针
- ssh的整合
- httpclient妙用一 httpclient作为客户端调用webservice