AT1812 テレビ 题解

AT1812 テレビ 题解

这里我们可以发现(仔细阅读题目)只会出现 4:316:9 的情况,我们可以发现:

$4÷3=1.33333……$

$16÷9=1.7777……$

所以我们可以巧妙的运用四舍五入函数 round() 来判断:

#include<bits/stdc++.h>//万能头文件
using namespace std;//using
int main()
{
    double w,h;//这里注意要输入浮点数才可以判断,保险用double
    cin>>w>>h;//输入
    if(round(w/h)==1) cout<<"4:3"<<endl;//如果w/h四舍五入后是1,输出4:3
    else cout<<"16:9"<<endl;//其他情况,输出16:9
    return 0;//华丽结束
}

时间复杂度 $O(1)$。

补充,关于浮点数函数的使用:

函数名称 用法
round(); 四舍五入
floor(); 向下取整
ceil(); 向上取整

学会了吗?

Thomas_ 的博客

原创,侵权必究

猜你喜欢

转载自www.cnblogs.com/ThomasAirplane/p/12367306.html