栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

pta 7-15 h0006.I Think I Need a Houseboat

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

pta 7-15 h0006.I Think I Need a Houseboat

Fred Mapper考虑在Louisiana购买一些土地,并在这些土地上建造他的家。在对土地的调查中他发现,由于Mississippi河的侵蚀,Louisiana州的土地每年减少50平方英里。因为Fred准备在他所建的家中度过他的后半生,所以他要知道是否他的土地会因为河流的侵蚀而丧失。

在做了很多的研究后, Fred发现正在失去的土地构成一个半圆形(半圆如图所示)。这一半圆形是一个圆的一部分,圆心在坐标(0, 0),二等分这个圆的线是X轴, X轴的下方是河水。在第1年开始的时候,这一半圆的面积为0。

输入格式

输入的第一行是一个正整数,表示有多少个测试用例(N)。后面有N行,每行给出笛卡尔坐标X和Y,表示Fred考虑购买的土地的位置。这些数是浮点数,以英里为单位。Y坐标非负。不会给出(0, 0)。

输出格式

对每个输入的测试用例,输出一行。这一行的形式为“Property N: This property will begin eroding in year Z.”,其中N是测试用例编号(从1开始记数),Z表示他的土地在第Z年结束的时候要落到半圆形中(从1开始记数),Z必须是一个整数。在最后一个测试用例后,输出“END OF OUTPUT.”。

输入示例
2
1.0 1.0
25.0 0.0
输出示例
Property 1: This property will begin eroding in year 1.
Property 2: This property will begin eroding in year 20.
END OF OUTPUT.
程序说明

根据输入的坐标确定正好该点被侵蚀的时候圆的面接,根据题目所说“每年减少50平方英里”来计算需要的时间,如果面积不是50的倍数则在计算结果的基础上加上一年即可完成题目。

代码如下
#include
using namespace std;
int main()
{
    int n;
    cin>>n;
    double PI=3.141592654;
    for(int i=1;i<=n;i++){
        double a,b;
        int cnt=0;
        cin>>a>>b;
        double area=0.5*PI*(a*a+b*b);
        if((int)area%50!=0) cnt=area/50+1;
        else cnt=area/50;
        printf("Property %d: This property will begin eroding in year %d.n",i,cnt);
    }
    printf("END OF OUTPUT.");
    return 0;
}

新手写博客,如有不足,欢迎评论区友好发言建议,谢谢!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/938634.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号