博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Leftmost Digit (技巧运算)
阅读量:5138 次
发布时间:2019-06-13

本文共 636 字,大约阅读时间需要 2 分钟。

题目链接:

 

思路:

令M=N^N;

分别对等式两边取对数得 log10(M)=N*log10(N),得M=10^(N*log10(N));

令N*log10(N)=a+b,a为整数,b为小数;

C函数:log10(),计算对数,pow(a,b)计算a^b

由于10的任何整数次幂首位一定为1,所以,M的首位只和N*log10(N)的小数部分有关,

即只用求10^b救可以了;
最后对10^b取整,输出取整的这个数就行了。(因为0<=b<1,所以1<=10^b<10对
其取整,那么的到的就是一个个位,也就是所求的数)

如果暴力解的话会超时!

1 #include
2 #include
3 int main() 4 { 5 int test; 6 double n,k,a; 7 scanf("%d",&test); 8 while(test--) 9 {10 scanf("%lf",&n);11 a=n*log10(n);12 k=a-(__int64)a; 13 printf("%d\n",int(pow(10,k)));14 }15 return 0;16 }

 

转载于:https://www.cnblogs.com/-Ackerman/p/11191895.html

你可能感兴趣的文章
技术人员的发展之路
查看>>
redis缓存数据库
查看>>
Maven的安装及配置
查看>>
oracle中sum求和问题
查看>>
Nginx配置upstream实现负载均衡
查看>>
详解post和get请求
查看>>
16 合并两个排序的链表Merge two sorted linkedlist<TODO输入两个链表>
查看>>
Qt5学习笔记 | 给窗口添加动作
查看>>
Html Table to Excel 的一种实现 (PHP)
查看>>
将MSSQL2005的用户数据库导入到godaddy
查看>>
Fluent NHibernate Component
查看>>
poj 1190 DFS 不等式放缩进行剪枝
查看>>
我所理解的RESTful Web API [Web标准篇]
查看>>
RabbitMQ与.net core(一)安装
查看>>
WPF自定义控件(五)の用户控件(完结)
查看>>
[UWP小白日记-15]在UWP手机端实时限制Textbox的输入
查看>>
SQL挑战——如何高效生成编码
查看>>
MVC5+EF6 入门完整教程13 -- 动态生成多级菜单
查看>>
Android零基础入门第7节:搞定Android模拟器,开启甜蜜之旅
查看>>
.Net 转战 Android 4.4 日常笔记(4)--按钮事件和国际化
查看>>