找回密码
 欢迎注册
楼主: medie2005

[讨论] 连续逆素数

[复制链接]
发表于 2008-6-15 11:05:28 | 显示全部楼层
X终端好像可以在后台运行,但是运行一个程序以后然后将X终端注销掉我没有试验过(其实通常也没有必要,因为资源消耗应该也不大),但是我感觉上只要让这个程序所有输入输出重定向,然后后台运行,应该还是可以的。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-6-15 11:07:16 | 显示全部楼层
其实这个连续逆素数问题,如果让一台计算机连续运行数小时,那么计算到$10^12$应该还是可以的,如果有更多计算,应该可以计算到更加大的范围。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-6-15 11:34:38 | 显示全部楼层
我的意思,我在家
控制学校机器运行后
我退出来阿

不能一直挂着阿
这样子和我自己机器运行没区别的阿
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-6-15 12:59:56 | 显示全部楼层
这个没有关系,Windows的Remote Desktop就可以。使用了以后将桌面窗口直接断开就可以,下次重新连接上去会看到同样的桌面。Linux下面X也一样,可以远程访问,比如我现在一般使用VNC,在Linux上启动一个VNC服务,然后在Windows上使用VNC Client连接上去就可以。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-6-15 13:02:57 | 显示全部楼层
还有如同在Windows上可以通过VNC Client(还有exceed等)访问Linux图形终端。在Linux下面,也可以使用rdesktop命令远程访问Windows的图形桌面(当然前提是Windows已经启动远程桌面服务)
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-6-15 14:47:41 | 显示全部楼层
我说的是任务能继续运行阿

断开后任务还能继续运行么
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-6-15 18:26:37 | 显示全部楼层
当然继续运行。就是远程桌面还在运行,只是在后台
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-6-16 08:48:17 | 显示全部楼层
关于计算比较大的范围的连续逆素数,我们可以考虑下面的算法:
i)对于不超过10位数的部分,直接使用我附件中的代码(部分计算改成长整型数运算就可以了)中的算法就可以了。
ii)对于长度超过10位的数字,我们首先需要通过筛法计算出指定范围内的素数,可以
    a)将整数每$10^5$个数分成一段,使用分段筛法计算出这一段内所有素数,也就是除了最低5位数都相同的数放在一段中
    b)将位数相同的数中,除了最高5位和最低5位数,中间部分相同的数分在一组。所以每一组数中含$10^5$段。
    c)对于两组数,如果他们出去最高和最低5位后,余下的中间部分互逆,我们说这两组是共轭组(所有有部分组自共轭)
然后计算过程中,每次选择一个共轭组;对共轭组中所有段采用筛法计算出这个共轭组中所有的素数,使用比特位作为存储方式。
而对于每个共轭组中,其中每一段$10^5$个数,我们只需要保存所有奇数是否是素数的信息,所以需要50000个比特位。
而且每一组中,最高位数不是1,3,7,9的数据由于其逆序数肯定不是素数,我们也不需要计算(和保存)其是否素数的信息。所以每一组中我们只需要$40000*50000=2*10^9$个比特位,而每个共轭组最多两组,所以最多需要$4*10^9$个比特位,这个可以用500M的内存空间就可以表示了。所以这种方法在内存使用量上是可以忍受的。
然后对于共轭组中每一个段中的每一个素数,我们一次计算其逆序数(同样采用附件中的算法),由于其逆序数必然在共轭组中,我们可以直接在内存中查询出逆序数是否为素数。
这样我们就可以比较容易的计算出每一段中最长的连续逆素数。此外,我们还需要保存每一段开头和结尾部分连续逆素数的长度(如果最小或最大素数是逆素数),这部分信息可以先保存在外存储中(直接写入文件)。
最后所有的分组的所有段的信息都计算完以后,我们可以将所有段的开头和结尾的连续逆素数长度从外存储中顺序读取出来,查看拼接以后的长度就可以了。
而这种算法还有一个好处时除了最后每个段首位部分拼接的代码以外,其余部分不同共轭组之间的计算完全是独立的,如果有很多台计算机,那么完全可以采用并行计算的方法。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-6-16 11:02:31 | 显示全部楼层


块有点大
只适合你那种机器内存有1024G
整天拿内存当硬盘使的人

我觉得首尾缩小到4位好不好阿
这样子,内存开销就小多了
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-6-16 11:09:39 | 显示全部楼层
缩小到4位也可以,只是筛法的效率会低一些.如果机器内存比较小,特别L2-cache不是很大(所以对内存访问效率也会有问题),这时应该缩小到4位效率会更好
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-4-28 11:49 , Processed in 0.067153 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表