首页 > 其他 > 详细

HDU 5170 GTY's math problem

时间:2015-11-03 21:01:29      阅读:286      评论:0      收藏:0      [点我收藏+]

数学题,a的b次方和c的d次方都很大,直接判断是做不出来的。

如果我们能找到一个函数F(x)是单调的,而F(X)的值又比较好算,那么可以通过比较F(X)的大小来判断自变量的大小。

令F(X)=log(X),a的b次方和c的d次方当做自变量。

那么接下来只要判断log(a的b次方)和log(c的d次方)的大小就可以判断a的b次方和c的d次方的大小了。

而log(a的b次方)=b*log(a),log(c的d次方)=d*log(c),很容易计算。

判断相等的时候注意一下精度问题。

#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;

double a,b,c,d;

int main()
{
    while(~scanf("%lf%lf%lf%lf",&a,&b,&c,&d)){
    double ans1=b*log(a);
    double ans2=d*log(c);

    if(fabs(ans1-ans2)<0.000001) printf("=\n");
    else if(ans1>ans2) printf(">\n");
    else printf("<\n");
    }
    return 0;
}

 

HDU 5170 GTY's math problem

原文:http://www.cnblogs.com/zufezzt/p/4934085.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!