题解 P1045 【麦森数】
这么好的一个高精题为什么没人用python?
我来补一发2333
首先我们要知道python里的两个函数
pow(x,y[,z]) #幂函数,求x^y%zd的指 其中[]表示里面的参数可以有也可以没有
math.log10(x) #需要math库,表示log_10(x)的值,用来求位数
这样就可以做啦
剩下的注意事项写代码里面啦
import math#引入math库
a = int(input()) #以整数方式来读入
#lee=len(str(pow(2,a))) len()表示字符串长度,str()表示强制转换为字符串,这样求字符串长度会超时(70')
lee = math.log10(2)*a+1 #求长度
b=pow(2,a,100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) #1后面499个0,注意不要使用1e499,会RE
b = b-1 #对输出结果减1
c ='%0500d' %b #格式化数字补0,转为字符串
a1=int(50)
a2 =int(10)
print(int(lee))
k =int(0)
for j in range(a2):
for i in range(a1):
print(c[k],end='') #对字符串切片输出
k=k+1
print(" ") #换行
python大法好啊!