zoukankan      html  css  js  c++  java
  • POJ2739(Water)

    2739:计算对数

    时间限制:

    1000ms

    内存限制:

    65536kB

    描述

    给定两个正整数a和b。可以知道一定存在整数x,使得
    x <= logab < x + 1
    输出x

    输入

    第1行是测试数据的组数n,每组测试数据占2行,分别是a和b。每组测试数据之间有一个空行每行数据不超过100个字符

    输出

    n行,每组测试数据有一行输出,也就是对应的x。输入数据保证x不大于20

    样例输入

    3

    10000

    1000000000001

     

    10000

    999999999999

     

    999999999999999999999999999999999999999999999999

    1

    样例输出

    3

    2

    0

     

    #include"iostream"
    #include"cmath"
    #include"cstring"
    #include"stdlib.h"
    using namespace std;
    int main()
    {
     int t;
     cin>>t;
      while(t--)
      {
       char a[100];
       char b[100];
       cin>>a>>b;
       int La=strlen(a);
       int Lb=strlen(b);
       a[6]='\0';//仅保留6位数
       b[6]='\0';
       for(int i=0;i<6;i++)//前6位是'\0'的一律转化为'0',为后面除以1e5以得到整数部分仅剩一位的小数,即自然对数表示法的近似值
       {
        if(a[i]=='\0')
         a[i]='0';
        if(b[i]=='\0')
         b[i]='0';
        }
       cout<<int((log10(atof(b)/1e5)+Lb-1)/(log10(atof(a)/1e5)+La-1))<<endl;//注意,一定要强制转化为int型;atof是int型转换为float型;
       //后面加上La-1是整数部分,前面部分是小数部分(a字符串代表的数字可近似表示为atof(a/1e5)*1e(La-1),取对数后就是上面的形式了)
      }
    }

  • 相关阅读:
    java学习之实例变量初始化
    rip中的连续子网以及不连续子网
    扫描工具
    WScript.SendKeys()的sendkeys发送组合键以及特殊字符
    sql 查询包含字符的数量统计
    leetcode题1Two sum 练习
    vs 2015密钥
    前端 边界圆角
    前端 字体样式
    前端 高级选择器 伪类选择器
  • 原文地址:https://www.cnblogs.com/lzhitian/p/2140073.html
Copyright © 2011-2022 走看看