zoukankan      html  css  js  c++  java
  • 简单题思维转化BestCoder

    题意:给你a, b, c, d四个数,这几个数的范围都是大于0小于1000的整数,让比较 a ^b 和 c ^ d的大小。

    这道题看着特别简单,但是当时就是做不出来,将近一个月没有做题了,手生了,不过看完题解之后,这个题还是挺简单的,关键就是一步转化就是两边同时取对数也就成为了b * log(a) 与 d * log(c)的大小比较,所以这样的话就在double的范围内了,不过还需注意一点就是有误差,不能完全正确的,因为在取对数的时候有个误差,所以要设置一个精度,代码如下:

     1 #include <iostream>
     2 #include <cmath>
     3 using namespace std;
     4 const double EPS = 1e-8;//精度
     5 int main()
     6 {
     7     int a, b, c, d;
     8     while (cin >> a >> b >> c >> d)
     9     {
    10         double t = b * log(a) - d * log(c);
    11         if (fabs(t) < EPS)
    12             cout << "=" << endl;
    13         else
    14             if (t > 0)
    15                 cout << ">" << endl;
    16             else
    17                 cout << "<" << endl;
    18     }
    19     return 0;
    20 }
  • 相关阅读:
    Html5结构相关元素
    html5文本元素
    html5全局属性
    元数据元素总结
    千里之行,始于足下
    换个角度思考
    java的权限修饰符
    四则运算
    测量软件使用感受
    JQuery高级
  • 原文地址:https://www.cnblogs.com/Howe-Young/p/4281188.html
Copyright © 2011-2022 走看看