专栏文章
[NOIP 2003 普及组] 麦森数
P1045题解参与者 10已保存评论 12
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 12 条
- 当前快照
- 1 份
- 快照标识符
- @mip4qnxz
- 此快照首次捕获于
- 2025/12/03 06:08 3 个月前
- 此快照最后确认于
- 2025/12/03 06:08 3 个月前
一篇 python 题解。
先看第一问。一个数 的位数,相当于 。用我们小学二年级就学过的换底公式,可以得到:
再看第二问,要我们求出 的值。python 中的
pow 函数还可以接受一个参数,表示结果对其取模。pow 函数内部使用快速幂实现,速度非常快,同时其边算边取模避免浪费大量时间。手写高精题,一边玩去。
PYTHONfrom math import log2
n = int(input())
print(int(n / log2(10)) + 1)
P = pow(10, 500)
x = pow(2, n, P)
x = (x - 1) % P
s = str(x)
s = '0' * (500 - len(s)) + s
for i in range(10):
for j in range(50):
print(s[i * 50 + j], end="")
print()
相关推荐
评论
共 12 条评论,欢迎与作者交流。
正在加载评论...