我试图想出一个方法,它接受一个整数并返回一个布尔值来说明数字是否为素数,我不知道多少C; 有人会关心给我一些指示吗?
基本上,我会在C#中这样做:
static bool IsPrime(int number)
{
for (int i = 2; i < number; i++)
{
if (number % i == 0 && i != number)
return false;
}
return true;
}
Run Code Online (Sandbox Code Playgroud) 我需要在非常大的数字(在很长的范围内)之间的间隔上测试素数,所以我需要一些快速算法来检查数字是否为素数.请提出您的想法.
我是Haskell的新手,我正在尝试一下:
isPrime :: Integer->Bool
isPrime x = ([] == [y | y<-[2..floor (sqrt x)], mod x y == 0])
Run Code Online (Sandbox Code Playgroud)
我有几个问题.
(Floating Integer, RealFrac Integer)定义所需的实例isPrime?抱歉我的英语.
我在闲暇时间玩Euler项目,而且我需要做一些重构.我已经实施了Miller-Rabin以及一些筛子.我之前听说过,对于小数字来说,筛子实际上更快,就像几百万以下一样.有没有人有这方面的信息?谷歌不是很有帮助.