bzoj 1008 4029
parent
d5f8ef6bc5
commit
d8e76b882e
@ -0,0 +1,18 @@
|
||||
#include <cstdio>
|
||||
typedef long long int64;
|
||||
const int MOD = 100003;
|
||||
int fast_pow(int64 a, int64 b)
|
||||
{
|
||||
int64 ans = 1;
|
||||
for (; b; a = (a * a) % MOD, b >>= 1)
|
||||
if (b & 1)
|
||||
ans = (ans * a) % MOD;
|
||||
return ans;
|
||||
}
|
||||
int main()
|
||||
{
|
||||
int64 m, n;
|
||||
scanf("%lld%lld", &m, &n);
|
||||
printf("%lld", (fast_pow(m, n) - (m * fast_pow(m - 1, n - 1)) % MOD + MOD) % MOD);
|
||||
return 0;
|
||||
}
|
||||
@ -0,0 +1,29 @@
|
||||
#include <cstdio>
|
||||
inline int calc(int x)
|
||||
{
|
||||
int ret = 0;
|
||||
while (x % 10 == 0) x /= 10;
|
||||
if (x % 5 == 0) ret--;
|
||||
while (x) x /= 10, ret += 2;
|
||||
return ret;
|
||||
}
|
||||
int main()
|
||||
{
|
||||
int n;
|
||||
scanf("%d", &n);
|
||||
while (n--)
|
||||
{
|
||||
int l, r, minn, ans, tmp;
|
||||
scanf("%d%d", &l, &r);
|
||||
minn = calc(ans = l);
|
||||
while (l < r)
|
||||
{
|
||||
int p = 1;
|
||||
while (l % 10 == 0) l /= 10, p *= 10;
|
||||
l = l * p + p;
|
||||
if (l <= r && (tmp = calc(l)) < minn) ans = l, minn = tmp;
|
||||
}
|
||||
printf("%d\n", ans);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
Loading…
Reference in new issue