ACM_求N^N的最高位数
Leftmost Digit
Time Limit: 2000/1000ms (Java/Others)
Problem Description:
给定一个正整数N,你应该输出N ^ N的最左边的数字。
Input:
输入包含多个测试用例。 输入的第一行是单个整数T,它是测试用例的数量。 T测试用例如下。
每个测试用例都包含一个正整数N(1 <= N <= 10000)。
Hint:64位整数使用long long int,输入输出%lld.
Output:
对于每个测试用例,您应该输出N^N的最左边的数字。
Sample Input:
2
3
4
Sample Output:
2
2
解题思路:对一个数N,用科学计数法表示为N=a*10^m,此时a的整数部分即为N的最高位数字,N^N的最左边的数字a即为题目所求。
所以N^N=a*10^m,两边取对数得N*lg(N)=m+lg(a);因为0<a<10,所以0<lg(a)<1,令x=lg(a)+m(m为x的整数部分),x=N*lg(N);
则a=10^(x-m)=10^(x-(int)x),注意这里的N最大为10^4,即x=N*lg(N)=4*10^4,x小于int范围内,所以x强转为int即为m,最后输出(int)a整数部分即可。
pow(x,y)函数计算x的y次幂。
AC代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int T,N;
while(cin>>T){
while(T--){
cin>>N;
double x=N*log10(N);
double g=x-(int)x;
cout<<(int)pow(,g)<<endl;
}
}
return ;
}
加强版(涉及推导数论知识)详解看这里:ACM_求N^N的前5位数和后5位数(数论)
ACM_求N^N的最高位数的更多相关文章
- OpenJudge计算概论-求满足条件的3位数
/*======================================================================== 求满足条件的3位数 总时间限制: 1000ms 内 ...
- Python3练习题 001:4个数字求不重复的3位数
#Python练习题 001:4个数字求不重复的3位数#方法一import itertoolsres = [][res.append(i[0]*100 + i[1]*10 + i[2]) for i ...
- ACM_求N^N的前5位数和后5位数(数论)
NNNNN Time Limit: 2000/1000ms (Java/Others) Problem Description: 对于整数N,求N^N的前5位和后5位(1057题加强版) Input: ...
- Openjudge-计算概论(A)-求满足条件的3位数
描述: 编写程序,按从小到大的顺序寻找同时符合条件1和2的所有3位数,条件为: 1.该数为完全平方数 2.该数至少有2位数字相同 例如,100同时满足上面两个条件. 输入输入一个数n,n的大小不超过实 ...
- ACM_求第k大元素(两次二分)
求第k大 Time Limit: 6000/3000ms (Java/Others) Problem Description: 给定两个数组A和B,大小为N,M,每次从两个数组各取一个数相乘放入数组C ...
- ACM_求补集的交集
求补集的交集 Time Limit: 2000/1000ms (Java/Others) Problem Description: 给定一个集合,然后再给出两个该集合的子集,求他们对应补集的交集. I ...
- ACM_求f(n)
求f(n) Time Limit: 2000/1000ms (Java/Others) Problem Description: 设函数f(n)=1*1*1+2*2*2+3*3*3+...+n*n*n ...
- ACM_求交集
求交集 Time Limit: 2000/1000ms (Java/Others) Problem Description: 输入集合A和B,按大小顺序输出A和B的交集. Input: 输入包含多组测 ...
- Python练习题 001:4个数字求不重复的3位数
听说做练习是掌握一门编程语言的最佳途径,那就争取先做满100道题吧. ----------------------------------------------------------------- ...
随机推荐
- Meteor事件
使用事件是非常简单的.我们将学习如何使用tag,class 和id作为事件选择器. 让我们创建HTML模板三大要素.第一个是 p 标签,第二个是 myClass 类,最后一个是myId. meteor ...
- 【APUE】进程基础
进程标识符:非负整数 ID为0的进程通常是是调度进程,常被称为交换进程.该进程是内核的一部分,它并不执行任何磁盘上的程序,因此也被称为系统进程 ID为1的进程是init进程,在自举过程结束时由内核调用 ...
- php.ini中extension默许的地址到底在哪里设置的
原文: http://www.myexception.cn/php/1436096.html ----------------------------------------------------- ...
- 支付宝移动支付之IOSApp调用支付宝钱包
近期客户提出要开发一个IOS上的app作为訪问他们站点的途径之中的一个.为什么说之中的一个呢.因为眼下PC和Mobile这两个站眼下都已经上线了. 所以问题就简单了,我们仅仅须要把mobile站UI改 ...
- PDO防止SQL注入具体介绍
<span style="font-size:18px;"><?php $dbh = new PDO("mysql:host=localhost; db ...
- vue - 官方 - 上手
Vue和其它框架一样,有用CDN或本地JavaScript框架,国内我推荐 bootstrap cdn. 为什么很多人选择CDN呢? CDN:内容分发网络(不同区域不同服务器,更快),减少本地服务器压 ...
- ZOJ 3228 Searching the String (AC自己主动机)
题目链接:Searching the String 解析:给一个长串.给n个不同种类的短串.问分别在能重叠下或者不能重叠下短串在长串中出现的次数. 能重叠的已经是最简单的AC自己主动机模板题了. 不能 ...
- Wiz笔记发布博客工具无法获取分类修复
使用Wiz笔记可以很方便的将笔记发布到博客,而且支持markdwon书写,并且可以很方便的通过复制粘贴来插入图片. 用法:http://blog.wiz.cn/wiz-plugin-blog-writ ...
- [Tue, 11 Aug 2015 ~ Mon, 17 Aug 2015] Deep Learning in arxiv
Image Representations and New Domains inNeural Image Captioning we find that a state-of-theart neura ...
- assert的作用是什么
assert()宏是用于保证满足某个特定条件,用法是: assert(表达式); 如果表达式的值为假,整个程序将退出,并输出一条错误信息.如果表达式的值为真则继续执行后面的语句. 使用这个宏前需要包含 ...