HDU 1060 Leftmost Digit
2016-05-17 14:13
309 查看
Leftmost Digit
Time Limit:1000MS Memory Limit:32768KB 64bit
IO Format:%I64d & %I64u
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
Sample Output
Hint
大致题意:给你一个n,求n ^ n的最高位的数值是多少
分析:用科学计数法表示n ^ n = a * 10 ^ b;
则[a] 即为所求结果。例如4 ^ 4 = 256 = 2.56 * 10 ^ 2; [2.56] = 2即为所求结果
两边同时取以10为底的对数:lg(n ^ n) = lg(a * 10 ^ b) 化简得:n * lg(n) = lg(a) + b -> a = 10 ^ (n * lg(n) - b)
又因为b为n ^ n 的位数,所以b = [n * lg(n)];
a = 10 ^ (n * lg(n) - [n * lg(n)]);
[a] 即为所求结果。
代码如下:
Time Limit:1000MS Memory Limit:32768KB 64bit
IO Format:%I64d & %I64u
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 ^ n = a * 10 ^ b;
则[a] 即为所求结果。例如4 ^ 4 = 256 = 2.56 * 10 ^ 2; [2.56] = 2即为所求结果
两边同时取以10为底的对数:lg(n ^ n) = lg(a * 10 ^ b) 化简得:n * lg(n) = lg(a) + b -> a = 10 ^ (n * lg(n) - b)
又因为b为n ^ n 的位数,所以b = [n * lg(n)];
a = 10 ^ (n * lg(n) - [n * lg(n)]);
[a] 即为所求结果。
代码如下:
#include<stdio.h> #include<string.h> #include<math.h> #include<iostream> #include<algorithm> using namespace std; int main() { int t; double n; scanf("%d",&t); while(t--) { scanf("%lf",&n); double x = n * log10(n) - (long long)(n * log10(n)); printf("%d\n",int(pow(10,x))); } return 0; }
相关文章推荐
- 软件开发必备之-设计原则
- 飛飛(四十四)春哥来啦!
- 跟我学机器视觉-HALCON学习例程中文详解-IC引脚测量
- consul笔记
- IBM X3650 服务器更换内存的过程记录
- eaccelerator+PHP5.4导致smarty更新模板500报错
- Android Telephony 框架分析
- ContentProvider使用例子
- Android 音频开发-如何存储和解析wav文件
- 百度编辑器使用说明
- python采用django框架实现支付宝即时到帐接口
- git开源库汇总——动画篇
- pecl_http组件安装
- jdk的配置-mac,windows
- 使用Pushlet将消息从服务器端推送到客户端【原创】
- 本地图片选择器(picasso框架)
- Ubuntu 14.04下caffe的安装
- JavaScript数组方法
- Centos出现-bash: unzip: command not found的解决办法
- Android程序中如何启动浏览器