相关疑难解决方法(0)

我该如何测试素性?

我正在编写一个带有一些素数相关方法的小库.因为我已经完成了基础工作(也就是工作方法),现在我正在寻找一些优化.当然,互联网是一个很好的地方.然而,我偶然发现了一个四舍五入的问题,我想知道如何解决这个问题.

在循环中,我用它来测试一个数字,因为它的搜索效率更高,搜索直到sqrt(n)而不是n/2甚至n - 1.但由于舍入问题,一些数字会被跳过,因此会跳过一些素数!例如,第10000个素数应为:104729,但"优化"版本最终为:103811.

一些代码(我知道,它可以进行更多优化,但我一次只能处理一件事):

/// <summary>
/// Method for testing the primality of a number e.g.: return IsPrime(29);
/// History:
/// 1. Initial version, most basic form of testing: m smaller then n -1
/// 2. Implemented m smaller then sqrt(n), optimization due to prime factoring
/// </summary>
/// <param name="test">Number to be tested on primality</param>
/// <returns>True if the number is prime, false otherwise</returns>
public static bool IsPrime(int test)
{
    // 0 and 1 are not prime numbers …
Run Code Online (Sandbox Code Playgroud)

c# math primes

14
推荐指数
4
解决办法
1万
查看次数

在C中找到最接近的素数到无符号长整数(32位宽)的方法?

我正在寻找一种方法来找到最接近的素数.大于或小于,无关紧要,只是最接近(没有溢出,最好是.)至于速度,如果它可以在1GHz机器上大约50毫秒计算它(在软件中,在Linux内运行),我会欣喜若狂.

c math primes

12
推荐指数
2
解决办法
2809
查看次数

有没有快速查找是否(n-1)!被n整除?

我知道通常的方法是迭代地找到n-1阶乘,然后检查.但是它具有O(n)的复杂性并且对于大n需要太多时间.还有其他选择吗?

iteration factorial

9
推荐指数
1
解决办法
3137
查看次数

更快速地检查数字是否为素数?

我得到了这个代码,检查一个数字是否是一个素数:

public static bool isPrime(int num)
{
    if (num == 1) return false;
    if (num == 2) return true;

    int newnum = Math.Floor(Math.Sqrt(num));

    for (int i = 2; i <= newnum; i++) 
        if (num % i == 0) return false;

    return true;
}
Run Code Online (Sandbox Code Playgroud)

有没有更好更快的方法来检查数字是否是素数?

c# primes

5
推荐指数
1
解决办法
1万
查看次数

C#中快速素性测试的示例代码

可能重复:
最快的素数测试算法

非常感谢对C#中快速素性测试的示例代码的引用,最好使用BigInteger或其他可变大小类型.

c# algorithm primes

4
推荐指数
1
解决办法
7017
查看次数

如何测试1000位数的素数?

我试图找出数字是否是1000或更长的素数.我想使用的算法是6k +/- 1

我面临的问题是如何在java中存储这么长的数字,它是以字符串作为输入.

要么

为了做到可分性,应该只考虑数字的最后几位数.

请指教

java algorithm

3
推荐指数
3
解决办法
7538
查看次数

C - 如果是素数,如何轻松测试?

可能重复:
C - 确定数字是否为素数

有没有办法在C中轻松测试所选数字是否为素数?

c

3
推荐指数
2
解决办法
4万
查看次数

标签 统计

primes ×4

c# ×3

algorithm ×2

c ×2

math ×2

factorial ×1

iteration ×1

java ×1