zoukankan      html  css  js  c++  java
  • Leftmost Digit

    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. 

    题意:给一个整数N,要求输出N的N次方最左边的数;
    分析:
    令 N=X^X;
     两边同时取对数 则 log10(N)=X*log10(X);
     同时 X^X 也可以表示成 A*(10^k) 科学计数法表示
         A的整数部分即是X^X的最高位

    两式合并得 log10(A)+k=X*log10(X);
    log10(A)小于1 即是右式的小数部分 k是右式的整数部分
    此时只需通过右式算出k即可解得A
     1 #include<cstdio>
     2 #include<cstring>
     3 #include<iostream>
     4 #include<cmath>
     5 using namespace std;
     6 
     7 int main()
     8 {
     9     int T;
    10     cin>>T;
    11     while(T--)
    12     {
    13         double A,n;
    14         long long k;
    15         cin>>n;
    16         A=n*log10(n);
    17         A-=(long long)A;
    18         k=pow(10.0,A);
    19         cout<<k<<endl;
    20     }
    21 }
  • 相关阅读:
    VI命令----用于检索
    NIO框架Mina学习
    Android闹钟开发与展示Demo
    Golang mysql使用举例---连接本地数据库
    mysql通信协议
    大小端定义
    npm是什么
    菜鸟如何学习vue
    cgred不能自动将pid放入tasks
    centos7上为什么不使用libcgroup进行资源限制
  • 原文地址:https://www.cnblogs.com/wsaaaaa/p/4288408.html
Copyright © 2011-2022 走看看