题目

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.

分析:

对一个数num可写为 num=a*10^n , 即科学计数法,使a的整数部分即为num的最高位数字
k^k=a*10^n
如何求a的值?
a=k^k/10^n
如何求n的值?
把n提出来,lga=k*lgk-n
n是整数,而且0 < k* lgk-n< 1, 这说明n是k * lgk的整数部分,因此n=(int)k*lgk
因此a=10^(k*lgk-(int)k *lgk)
实际上,由于k*lgk小数点后有许多数,而int 只有32 位,那么取整用(long long)

代码

#include<stdio.h>
#include<math.h>
int main(){int n;double x,a;scanf("%d",&n);while(n--){scanf("%lf",&a);x=a*log10(a);printf("%d\n",(int)pow(10.0,x-(long long)x));}
}

震惊! Leftmost Digit相关推荐

  1. HDOJ 1060 Leftmost Digit

    Author Ignatius.L题目大意:1.第一行输入一个整数T代表接下来有T组测试数据.2.接下来的T行,每行输入一个整数(1<=N<=1,000,000,000).3.输出结果为N ...

  2. HDUOJ 1060 Leftmost Digit

    问题:求x^x的最高位 思路: 假设a = x^x,对10求对数有log(a) = x * log(x) = b.cd,其中b表示指数的最大表示,10^(.cd)就是底 具体代码参考: https:/ ...

  3. 杭电 1060 Leftmost Digit

    这个题大意是:计算n^n的最高位数是什么. 解题思路: 1,令M=N^N: 2,分别对等式两边取对数得 log10(M)=N*log10(N),得M=10^(N*log10(N)): 3,令N*log ...

  4. 【log+科学计数法】HDU-1060 Leftmost Digit

    注解 1.本题是求N的N次方的最左边数字,首先表示成科学计数法形式. N^N = a * 10的k次方 两边取对数:Nlog(N)=log(a)+k Nlog(N)是实数,而k是整数,Nlog(N)- ...

  5. HDOJ-1060-Leftmost Digit(求n^n的最高位)

    原文网址点击打开链接 Leftmost Digit Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Jav ...

  6. 如何从JavaScript中的给定数字中形成最小的数字

    by Prashant Yadav 通过Prashant Yadav 如何从JavaScript中的给定数字中形成最小的数字 (How to form the smallest possible nu ...

  7. 题目梳理(一)(2019.07.06~2019.07.20)

    一.字典树类型 A   HihoCoder1014 Trie树(已做) 题目链接    https://hihocoder.com/problemset/problem/1014 B    HDU12 ...

  8. 我从大厂面试中学到的关于 C# 的知识

    我从工作面试中学到的关于 C# 的知识 原文链接:https://michaelscodingspot.com/what-i-learned-about-c-from-job-interviews/ ...

  9. HDU 1568 Fibonacci【求斐波那契数的前4位/递推式】

    Fibonacci Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Proble ...

最新文章

  1. 地图不显示_地图不显示脚步,枪声没有方向标记,职业比赛有何不同?
  2. 深度对抗学习在图像分割和超分辨率中的应用
  3. 咸鱼翻身 汉能薄膜是如何做到的?
  4. RocketMQ入门到入土(一)新手也能看懂的原理和实战!
  5. wxWidgets:wxMutex类用法
  6. fscanf()php,fscanf函数的用法
  7. java保存的时候保存多张表,表驱动,如何在表中存储一个方法
  8. stm32编码器正反转计数程序_第六章:STM32CubeMx 定时器编码器模式基本使用方法...
  9. 第23章:MongoDB-聚合操作--聚合命令
  10. 高并发下的秒杀系统设计
  11. App下载的视频导进电脑中生成.mp4文件的方法
  12. 寒假训练营第一天(学会CB):D - Unimodal Array
  13. python表情换头_使用Python制作表情包实现换脸功能
  14. 使用电子签章确立在线医疗电子病历的法律地位
  15. hive启动报错:Relative path in absolute URI:${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D
  16. vmware虚拟机重装后本机没虚拟网卡解决方案及虚拟机的三种网络连接方式详解
  17. 国产软件不背黑锅,4款强大又实用的电脑软件,用了舍不得卸载
  18. 关于传智播客视频教程的解压方法
  19. 如何用 Siesta 编写 RESTful app
  20. 自动驾驶测试相关论文推荐

热门文章

  1. 频段表_5G频段范围之:频段3.3GHz-4.2GHz (n77,n78)
  2. 精通ASP.NET MVC ——模型验证
  3. Xftp上传文件显示状态错误
  4. 关于eclipse的一些简单配置
  5. 如何将文件二进制传输至aix服务器,有什么办法把文件从WINDOWS系统中传到AIX中?...
  6. php mvc教程 文档,PHP培训教程教你快速打造PHP MVC框架[PHP基础教程]
  7. UC浏览器电脑版怎么自定义标签栏 标签栏位置修改教程
  8. 如何实现Android端获取RTSP|RTMP流转推RTMP
  9. 5张图看懂如何实现Windows RTMP实时导播功能
  10. JS闭包的简单理解。优缺点以及垃圾回收机制