作为圣诞礼物,我用Java编写了一个小程序来计算素数。我的目的是让它彻夜不眠,计算下一个素数并将其写入.txt文件。早上我会杀了这个程序并将.txt文件带给我的朋友过圣诞节。
有什么我应该担心的吗?请记住,这是真正的初学者Ziggy,你正在谈论,而不是一些聪明的错误检查ASM家伙。
编辑更具体地说,因为我将把所有夜间计数素数留给这个程序,有没有机会我会遇到某种与记忆相关的错误?比如堆叠破碎堆或狗和猫睡在一起?
编辑甚至更具体地说,当文件大小为4GB时,是否有一行代码可以用来停止打印行?为了安全起见?
编辑:成功:在整夜离开之后,我得到的素数不超过13 KB,我得到的最高值是22947217,就像成千上万的素数一样。成功了!答案 0 :(得分:17)
我建议为您计算的每个素数发送短信。你的朋友比一堆纸要好得多。此外,他可以更频繁地更新。
答案 1 :(得分:8)
有很多限制,但它们都不是.txt文件固有的:
答案 2 :(得分:6)
您很可能使用的是慢速算法。随着素数越来越大,你的程序将花费更长的时间来计算单个素数。如果你让它运行一夜,文本文件在早上不会很大。如果它超过几个megs,我会留下深刻的印象。
答案 3 :(得分:2)
从技术上讲,除了文件系统放在你身上之外没有任何限制。然而,记事本对于打开淫秽的大文件真的很不自在。
答案 4 :(得分:2)
您可以考虑跟踪写入每个文件的字节数,并在一定数量的字节后切换到新文件。您还可以为您的文件提供查看器,以便您的朋友可以更轻松地查看他的礼物。 :)
答案 5 :(得分:1)
如果内存服务,FAT32的文件限制大小为4gig。
答案 6 :(得分:1)
齐格 -
我喜欢这个:“没有一些聪明的错误检查ASM家伙。”你在描述我们所有人!
有足够的磁盘空间并写下来!如前所述,请确保用于打开文件的编辑器可以打开非常大的文件。
节日快乐,真正的初学者Ziggy。
答案 7 :(得分:0)
仅限于您将文本文件存储在磁盘上的位置。
而且,如果你没有立刻写下它,你的记忆+虚拟记忆。
答案 8 :(得分:0)
如何保存一些CPU周期并只下载预先计算的list of primes?还是更“重要的思想”? :)
答案 9 :(得分:0)
如何为每个素数创建一个文件,然后使用文件名显示数字?
答案 10 :(得分:0)
不知怎的,我怀疑当你的程序在一夜之间运行时,文件大小将是一个问题,考虑到随着数字变大需要更长时间才能找到素数。只要确保你清理干净,否则你可能会吃掉所有的RAM。
回答你的问题:从理论上讲,文件系统会限制文件大小。但是,在加载大文件(> 100 MB)时,很多文本编辑器都崩溃了(vim没有),因为他们试图将它放在一个缓冲区中。
总而言之,请考虑将文件拆分为最薄弱的链接(文本编辑器)可以处理的块。