无心人
发表于 2008-11-24 11:17:41
import Primes
readInt :: IO Int
readInt = readLn
getBlock b 0 = , b <- ]
getBlock b 1 = , b <- , c <-]
getBlock b p = , b <- , c <- , d <- ]
multiBlock b n p = (p \`mod\` 10^(n \`mod\` b)) * 10^(b * (n \`div\` b))+ fromIntegral(sum (take (n \`div\` b) (iterate (10^b*) p)))
isczPrime b n = [(ns, pp) | ns <- ,
ns \`mod\` b /= 0,
let pps = map (multiBlock b ns) (getBlock b ((n \`mod\` b)-1)),
pp <-pps,
isPrime pp
]
main = do
putStrLn "Input Digits: "
n <- readInt
putStrLn "Input Block Size: "
b <- readInt
print (isczPrime b n)
gxqcn
发表于 2008-11-24 12:39:09
这是 C++ 代码,
请先安装 HugeCalc 算法库,而后编译运行,
可以运行在任何 32 位或 64 位 windows 下。
无心人
发表于 2008-11-24 16:51:53
21#程序改好了
不知道谁能写个别的语言的
相互印证
下面是编译后的程序
gxqcn
发表于 2008-11-24 21:41:17
原帖由 无心人 于 2008-11-24 16:51 发表 http://bbs.emath.ac.cn/images/common/back.gif
21#程序改好了
不知道谁能写个别的语言的
相互印证
下面是编译后的程序
595
下载了你的程序,可惜结果一闪而过,无法保留。
无心人
发表于 2008-11-25 07:59:49
呵呵
没设定保存到文件
不过,很容易写保存程序
就增加一句
你重定向到文件吧
isczPrimen > czPrimes.txt
呵呵
gxqcn
发表于 2008-11-25 08:08:42
我在 WinXP cmd 下,无论用 > 还是 >> 到文件,都不能成功。
因为无法输入参数了,得到一个0字节空文件。
mathe
发表于 2008-11-25 08:17:59
不会的,不过输入数字参数需要注意。
比如程序名为test.exe,程序需要参数10,那么可以采用命令
test.exe 10 1>out
其中1>out表示将标准输出重定向到文件out.
如果省略了1而且10和>之间没有留空格,那么命令行会将数字10当成文件句柄从而没有输入参数了
gxqcn
发表于 2008-11-25 08:36:44
学了一招。:)
但用在无心人提供的程序仍然不灵,
可能是他输入输出代码非标准问题。
无心人
发表于 2008-11-25 08:40:26
:)
可是我这里可以啊
无心人
发表于 2008-11-25 08:45:23
import Primes
readInt :: IO Int
readInt = readLn
getBlock b 0 = , b <- ]
getBlock b 1 = , b <- , c <-]
getBlock b p = , b <- , c <- , d <- ]
multiBlock b n p = (p \`mod\` 10^(n \`mod\` b)) * 10^(b * (n \`div\` b))+ fromIntegral(sum (take (n \`div\` b) (iterate (10^b*) p)))
isczPrime b n = [(ns, pp) | ns <- ,
ns \`mod\` b /= 0,
let pps = map (multiBlock b ns) (getBlock b ((ns \`mod\` b)-1)),
pp <-pps,
isPrime pp
]
main = do
putStrLn "Input Digits: "
n <- readInt
putStrLn "Input Block Size: "
b <- readInt
let result = isczPrime b n
let fileName = "P" ++ show(n) ++ "_" ++ show(b) ++ ".TXT"
writeFile fileName (show result)
=============================
重新编译的,保存到文件
本帖最后由 无心人 于 2008-11-25 09:22 编辑