zoukankan      html  css  js  c++  java
  • NYOJ 633 幂

    时间限制:3000 ms  |           内存限制:65535 KB
    难度:4
    描述
    在学习循环的时候,我们都练习过利用循环计算a的k次方。现在给定整数k和一个整数m,请你求出对应的整数a,使得a的k次方是不超过m并且最接近m的数值。
    输入
    一个整数T表示测试组数。 对于每组测试数据: 给定两个整数k和m
    数据范围: 1 <= T <= 20 1 <= k <= 10^9 0 <= a <= 10^9 0 <= M <= 10^100
    输出
    对于每组数据,输出一个整数a占一行。
    样例输入
    2
    2 4
    3 27 
    样例输出
    2
    3 
    #include<iostream>
    #include<cmath>
    using namespace std;
    
    int main()
    {
        double k,m,t;
        cin>>t;
        while(t--)
        {
            cin>>k>>m;
            int a = pow(10.0,double(log10(m)/k));
            while(pow(a+1,k) <= m)    ++a;
            cout<<a<<endl;
        }
        return 0;
    }        
    

    初看这道题是大数,无从下手,但仔细一考虑便会发现,对其先求对数,问题就变得简单了,然后化简便可以求出a的大概值,然后再把a的值逐渐变大,便可以求出a了!

  • 相关阅读:
    瀑布流
    进度条
    图片延迟加载、scroll
    scroll 滚动广告
    json
    样式更改
    js 不同浏览器的宽度获取
    孤立点挖掘算法
    数据结构算法代码
    深入浅出JMS(一)--JMS基本概念
  • 原文地址:https://www.cnblogs.com/yaling/p/3082463.html
Copyright © 2011-2022 走看看