LightOJ
来源:互联网 发布:嵌入式就业前景 知乎 编辑:程序博客网 时间:2024/06/05 16:37
题意:求n^k的前三位和后三位数字。
思路:n=10^a,a为浮点数,则n^k=10^(a*k)=10^(x+y),x为整数,y为小数,则n^k前三位数字则为10^y*100的整数部分,a可取log得出,y可由fomd()函数得。n^k的后三位则可有快速幂算出,模数为1000,注意补足前导0。
#include <iostream>#include <iomanip>#include <algorithm>#include <cstdio>#include <cstring>#include <queue>#include <string>#include <cmath>#include <vector>#include <utility>#include <set>#include <climits>//#pragma comment(linker, "/STACK:1024000000,1024000000")#define INF 2147483647using namespace std;typedef long long ll;ll mod_pow(ll x,ll n,ll mod)//快速幂求后三位{ ll res=1; while(n>0) { if(n&1) res=res*x%mod; x=x*x%mod; n>>=1; } return res;}int t,i,j;int main(){ scanf("%d",&t); for(i=1;i<=t;i++) { ll num; int k; scanf("%lld%d",&num,&k); int nn=pow(10.0,2.0+fmod(log10(num)*k,1.0));//n^k的前三位 int nn2=mod_pow(num,k,1000); printf("Case %d: %d %03d\n",i,nn,nn2); } return 0;}
阅读全文
1 0
- LightOJ
- LightOJ
- LightOJ
- LightOJ
- LightOJ
- [LightOJ
- LightOJ
- LightOJ
- LightOJ
- LightOJ
- LightOJ
- LightOJ
- LightOJ
- LightOJ
- LightOJ
- LightOJ
- LightOJ
- LightOJ
- 背包问题
- POJ 1611 The Suspects(并查集模板)
- Logistic Regression Formula deduction
- DAY56 JavaScript基础1
- 解决Wine安装时提示You could try running: rpm -Va –nofiles –nodigest问题
- LightOJ
- python爬天气网历史数据
- 排序算法之选择排序
- 2010年计算机联考真题——一维数组循环左移
- PHP时间戳和日期的相互转换
- Qt学习笔记之QPushButton 按钮类
- 贴之道-别生气了,会伤害乳房
- POJ3318:Matrix Multiplication(矩阵相乘)
- Splay基本操作和线段树(指针版)