杭电1060 Leftmost Digit
2016-02-04 00:14
489 查看
Leftmost DigitTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 15566 Accepted Submission(s): 6048 [align=left]Problem Description[/align] Given a positive integer N, you should output the leftmost digit of N^N. [align=left]Input[/align] 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). [align=left]Output[/align] For each test case, you should output the leftmost digit of N^N. [align=left]Sample Input[/align] 2 3 4 [align=left]Sample Output[/align] 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 is2这个n^n很大,所以考虑用对数求,假设a为n^n的最左为,n^n=a*10^m,两边取对数n*lgn=m+lga;a=10^(n*lgn-m),可以看出m为n*lgn的整数部分,所以可以使用强制转由你n*lgn得到m[code]#include<stdio.h> #include<math.h> int main() { int a,t; long long n; double s; scanf("%d",&t); while(t--) { scanf("%lld",&n); s=n*log10(n); a=1*pow(10,s-(long long)s); printf("%d\n",a); } return 0; } [/code] [align=left]Author[/align] Ignatius.L [align=left]Recommend[/align] We have carefully selected several similar problems for you: 1061 1071 1573 1066 1005 Statistic | Submit | Discuss | Note |
相关文章推荐
- jython2.7编码问题
- 关闭zsh的auto cd功能
- Python游戏引擎开发(六):动画的小小研究
- Hello Java !
- 最简单的基于FFMPEG的推流器附件:收流器
- uoj#35. 后缀排序 后缀数组
- C#DateTime各种使用
- MarkDown实例代码
- hdu 1525 Euclid's Game 博弈
- [C/C++]_[初级]_[static_cast,reinterpret_cast,dynimic_cast的使用场景和区别]
- [C/C++]_[初级]_[static_cast,reinterpret_cast,dynimic_cast的使用场景和区别]
- 构建一个Struts2项目
- howto dig
- ThinkPHP - 图片水印
- POJ 2481Cows
- 最简单的基于FFmpeg的推流器(以推送RTMP为例)
- setScale,preScale和postScale的区别
- 图的连通性:有向图强连通分量-Tarjan算法
- 浅谈比较两个String是否相等的方法
- 设计模式-状态模式