LightOJ 1282 Leading and Trailing(n^k的高三位和低三位)
2016-05-29 11:44
489 查看
题目链接:
LightOJ 1282 Leading and Trailing
题意:
给出n和k求出n^k的高三位和低三位。
分析:
低三位别忘了%03d输出啊!
高三位取log瞎搞啊!
LightOJ 1282 Leading and Trailing
题意:
给出n和k求出n^k的高三位和低三位。
分析:
低三位别忘了%03d输出啊!
高三位取log瞎搞啊!
#include <iostream> #include <cstdio> #include <cstring> #include <string> #include <algorithm> #include <climits> #include <cmath> #include <ctime> #include <cassert> #define IOS ios_base::sync_with_stdio(0); cin.tie(0); using namespace std; typedef long long ll; const ll mod = 1000; int T, cases = 0; ll high, low, n, k; ll quick_pow(ll a, ll b) { ll res = 1, tmp = a % mod; while(b){ if(b & 1) res = res * tmp % mod; tmp = tmp * tmp % mod; b >>= 1; } return res % mod; } int main() { scanf("%d", &T); while(T--){ scanf("%lld%lld", &n, &k); low = quick_pow(n, k); double t = 1.0 * k * log10(n * 1.0); ll m = (ll)(floor(t)); high = (ll)(pow(10.0, t - m + 2.0)); //high = (ll) pow(10.0, 2.0 + fmod(1.0 * k * log10(n * 1.0), 1)); printf("Case %d: %lld %03lld\n", ++cases, high, low); } return 0; }
相关文章推荐
- 1.m分解阶乘之和
- 2.几种递推数
- 3.欧拉函数
- 4.快速幂模m算法
- 5.扩展欧几里得&&中国剩余定理
- 6.数论_web
- Project Euler Problem 387 - Harshad Numbers - 深度优先
- 编程之美2015初赛A
- LightOJ 1067 Combinations 组合数取模
- 数论题集
- 原根
- 阶与原根学习笔记
- HDU 1299 Diophantus of Alexandria
- Leftmost Digit(HDU 1060)
- Rightmost Digit(HDU 1061)
- Python-在奇数中寻找素数
- ZOJ 2674 Strange Limit 欧拉定理
- LeetCode-Palindrome Number
- 组合数求模总结
- LightOJ 1004 - Monkey Banana Problem