这是我所知道的一个奇怪的问题,但我正在尝试获取文件中当前最大素数的副本.以整数形式获取数字非常简单.我跑了这个.
prime = 2**74207281 - 1
Run Code Online (Sandbox Code Playgroud)
它需要大约半秒钟,它工作得很好.操作也相当快.将它除以10(不带小数)来移动数字很快.但是,str(prime)需要很长时间.我str像这样重新实现,发现它每秒处理大约一百个数字.
while prime > 0:
strprime += str(prime%10)
prime //= 10
Run Code Online (Sandbox Code Playgroud)
有没有办法更有效地做到这一点?我在Python中这样做.我是否应该尝试使用Python,或者有更好的工具吗?
所以我只是注意到了这一点,经过一些实验,我设法让它变得可重复.我没有看到这张贴在任何地方.在某些情况下,Python似乎正在读取文件的末尾.
我正在使用Python 2.7.12
f = open('test', 'wb')
f.write('this is a test')
f.close()
Run Code Online (Sandbox Code Playgroud)
现在,"test"是一个14字节的文件,文本"这是一个测试".
f = open('test', 'rb+')
f.write('abcd')
x = f.read(1024*1024)
f.close()
Run Code Online (Sandbox Code Playgroud)
现在"test"是一个4110字节的文件,有这种内容http://i.imgur.com/rWgNWXy.png
这是一个错误吗?这是安全隐患吗?
我制作了一个程序并编译了它.它在调试文件夹中按预期工作.我拿出来把它放在system32但它不会运行.它给出了这个错误:
.NET Framework初始化错误
无法找到运行此应用程序的运行时版本.
我已经尝试将它放在调试文件夹中的自己的文件夹中,它没有其他调试文件.我试过以管理员身份运行它.我知道我有正确的.NET Framework版本,因为它能够在system32之外运行.我试图使用命令提示符从其他地方运行它.我已经尝试了所有这些,但它仍然无效.
编辑:我也尝试将exe放在Windows文件夹中.
我正在尝试编写堆结构,并且我意识到我在索引和设置项目方面实现的大部分内容已经以.的形式实现list.如何获取该列表的实例,以便将其用于堆构建?
这就是我所知道的
class heap(list):
def __init__(self, arr=None, key=None):
super().__init__(arr)
self._arr = arr
Run Code Online (Sandbox Code Playgroud)
我想self._arr成为上面直线上创建的列表的实例.