题目大意:求n^k的前三位数 和 后三位数。

题目思路:后三位数直接用快速幂取模就行了,前三位则有些小技巧:

对任意正数都有n=10^T(T可为小数),设T=x+y,则n=10^(x+y)=10^x*10^y,其中10^x为10的整倍数(x为整数确定数位长度),所以主要求出10^y的值。

T=log10(n^k)=klog10(n),可以调用fmod函数求其小数部分即y值。

#include<iostream>
#include<algorithm>
#include<cstring>
#include<vector>
#include<stdio.h>
#include<queue>
#include<math.h>
#define INF 0x3f3f3f3f
#define MAX 1000005
#define Temp 1000000000 using namespace std; long long Pow(long long n,long long m)//快速幂取模
{
long long ans=;
while(m)
{
if(m&)
{
ans=ans*n%;
}
n=(n*(n%))%;
m/=;
}
return ans;
} int main()
{
long long cnt=,T;
long long n,m;
scanf("%lld",&T);
while(T--)
{
scanf("%lld%lld",&n,&m);
long long S=Pow(n,m);
long long E=(pow(10.0,2.0+fmod((double)m*(log10(double(n))),))+1e-);//注意精度问题
printf("Case %lld: %lld %03lld\n",cnt++,E,S);
}
return ;
}

最新文章

  1. 防火墙防DDOS攻击的简单设置
  2. 类ExampleA继承Exception,类ExampleB继承ExampleA。 有如下代码片断:
  3. Gradle学习系列之六——使用Java Plugin
  4. mysql的主从配置以及主主配置
  5. delphi中表示跳出的有break,continue, exit,abort, halt, runerror
  6. 【MongoDB】增删改查基本操作
  7. Project Euler 95:Amicable chains 亲和数链
  8. 【进阶——种类并查集】hdu 1829 A Bug&#39;s Life (基础种类并查集)TUD Programming Contest 2005, Darmstadt, Germany
  9. Android关于ListView中item与控件抢夺焦点的那些事
  10. [分 享] PHPCMS V9 更换域名,附件地址无法批更新(更换变便)问题&gt;解决方法!!
  11. Node.js:常用工具util
  12. C程序浅议
  13. Java面向对象编程基础
  14. 通过Hutool 调用远程API接口(POST/GET)
  15. 用Sqoop进行Hive和MySQL之间的数据互导
  16. POJ 3264 Balanced Lineup 【线段树】
  17. 容器化 RDS:你须要了解数据是怎样被写&amp;quot;坏&amp;quot;的
  18. python字符串前面加u,r,b的含义
  19. python-小数据池 and 编码
  20. java面试:手写代码

热门文章

  1. Dokan简介[转]
  2. Java 编码 字符集
  3. [SOJ] 图的广度优先搜索
  4. LeetCode OJ 53. Maximum Subarray
  5. Unity3D 回合制 网上源码 目前还在研究构思
  6. 第四题 (List)写一个函数reverseList,该函数能够接受一个List,然后把该List&#160;倒序排列。&#160;例如:&#160; List&#160;list&#160;=&#160;new&#160;ArrayList();&#160; list.add(“Hello”);&#160; list.add(“World”);&#160; list.add(“Learn”);&#160;//此时list&#160;为Hello&#160;World&#160;Learn&#160; r
  7. Spring 表单提交,后台自动封装有集合对象的对象
  8. wpf之ListBox中ListBoxItem横向排列
  9. Android中的selector
  10. oracle日期的处理