LightOJ 1282 Leading and Trailing 数论
2024-10-15 18:06:07
题目大意:求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 ;
}
最新文章
- 防火墙防DDOS攻击的简单设置
- 类ExampleA继承Exception,类ExampleB继承ExampleA。 有如下代码片断:
- Gradle学习系列之六——使用Java Plugin
- mysql的主从配置以及主主配置
- delphi中表示跳出的有break,continue, exit,abort, halt, runerror
- 【MongoDB】增删改查基本操作
- Project Euler 95:Amicable chains 亲和数链
- 【进阶——种类并查集】hdu 1829 A Bug&#39;s Life (基础种类并查集)TUD Programming Contest 2005, Darmstadt, Germany
- Android关于ListView中item与控件抢夺焦点的那些事
- [分 享] PHPCMS V9 更换域名,附件地址无法批更新(更换变便)问题>;解决方法!!
- Node.js:常用工具util
- C程序浅议
- Java面向对象编程基础
- 通过Hutool 调用远程API接口(POST/GET)
- 用Sqoop进行Hive和MySQL之间的数据互导
- POJ 3264 Balanced Lineup 【线段树】
- 容器化 RDS:你须要了解数据是怎样被写&;quot;坏&;quot;的
- python字符串前面加u,r,b的含义
- python-小数据池 and 编码
- java面试:手写代码
热门文章
- Dokan简介[转]
- Java 编码 字符集
- [SOJ] 图的广度优先搜索
- LeetCode OJ 53. Maximum Subarray
- Unity3D 回合制 网上源码 目前还在研究构思
- 第四题 (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
- Spring 表单提交,后台自动封装有集合对象的对象
- wpf之ListBox中ListBoxItem横向排列
- Android中的selector
- oracle日期的处理