• hdu Leftmost Digit


    Leftmost Digit

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
    Total Submission(s): 1338    Accepted Submission(s): 627
     
    Problem Description
    Given a positive integer N, you should output the leftmost digit of N^N.
     
    Input
    The input contains several test cases. The first line of the input is a single integer T which is the number of test cases. T test cases follow. Each test case contains a single positive integer N(1<=N<=1,000,000,000).
     
    Output
    For each test case, you should output the leftmost digit of N^N.
     
    Sample Input
    2
    3
    4
     
    Sample Output
    2
    2
    Hint
    In the first case, 3 * 3 * 3 = 27, so the leftmost digit is 2. In the second case, 4 * 4 * 4 * 4 = 256, so the leftmost digit is 2.
     
    Author
    Ignatius.L

    分析:重要数学技巧,将数对10取对数后的小数部分就是该数写成科学计数法时的那个小数对10取对数。

    #include<cstdio>
    #include<cmath>
    
    int main() {
        int T;
        double ans, n;
        scanf("%d", &T);
        while (T--) {
            scanf("%lf", &n);
            ans = n * log10(n);
            ans -= (long long) ans;
            printf("%d\n", (int) pow(10, ans));
        }
        return 0;
    }
  • 相关阅读:
    从OkHttp的源码来看 HTTP
    从Retrofit的源码来看 HTTP
    登录授权、TCP/IP、HTTPS
    编码、加密、Hash
    java获取当前系统时间
    mybatis自动生成
    rabbitMQ权限相关命令
    在Spring Boot中使用Spring Security实现权限控制
    学习sharding-jdbc 分库分表扩展框架
    Jenkins的关闭、重启
  • 原文地址:https://www.cnblogs.com/baidongtan/p/2663019.html
Copyright © 2020-2023  润新知