Tag: primes

BigIntegers对BigIntegers的力量

我正在尝试使用BigInteger类在Java中实现Fermat,Miller-Rabin或AKS算法。 我认为我已经实现了Fermat测试,只是BigInteger类不允许将BigIntegers带入BigIntegers的强大function(人们只能将BigIntegers带入原始int的强大function)。 有没有解决的办法? 有问题的行在我的代码中表示: public static boolean fermatPrimalityTest(BigInteger n) { BigInteger a; Random rand = new Random(); int maxIterations = 100000; for (int i = 0; i < maxIterations; i++) { a = new BigInteger(2048, rand); // PROBLEM WITH a.pow(n) BECAUSE n IS NOT A BigInteger boolean test = ((a.pow(n)).minus(BigInteger.ONE)).equals((BigInteger.ONE).mod(n)); if (!test) return false; } […]

Java BigInteger素数

我正在尝试生成BigInteger类型的随机素数,即我提供的最小值和最大值之间。 我知道BigInteger.probablePrime(int bitlength,random),但我不确定比特长度是如何转换为输出素数的最大值/最小值。 谢谢,Steven1350

日期时间不会显示

我试图让时间戳显示 – 我以不同的方式尝试了onCreate查询,并尝试将addTime作为addTime中的值。 似乎没什么用。 我的目的是让应用程序显示以前的素数和它们被发现的时间。 该应用程序的目的是让用户能够关闭/终止该应用程序,并在重新启动应用程序时从最后找到的素数重新开始计数,如果您有任何提示,这将如何可行,我将不胜感激。 这是PrimeDBManager类 public class PrimeDBManager extends SQLiteOpenHelper { private static final int DATABASE_VERSION = 1; private static final String DATABASE_NAME = “prime.db”; public static final String TABLE_PRIME = “prime”; public static final String COLUMN_ID = “_id”; public static final String COLUMN_PRIMENO = “primeno”; public static final String COLUMN_DATETIME = “datetime”; […]

如何为Project Euler 7改进此代码?

通过列出前六个素数:2,3,5,7,11和13,我们可以看到第6个素数是13。 什么是10 001主数? 我的解决方案 public class Prime_Number { public static boolean isPrime(long n) { if ((n > 2 && n % 2 == 0) || (n > 3 && n % 3 == 0) || (n > 5 && n % 5 == 0) || n == 0 || n == 1) { return false; […]

素数发生器逻辑

我应该创建一个类PrimeNumberGenerator ,它有一个方法nextPrime ,它将打印出所有素数,直到用户输入的数字。 例) Enter a Number: 20 2 3 5 7 11 13 17 19 我们的老师告诉我们,我们应该使用嵌套for循环。 我试过了,但是当我试图制作内部(嵌套)循环时,我真的很困惑。 这是我的代码:(我稍后会做一个测试课) public class PrimeGenerator { private int num; boolean isPrime; public PrimeGenerator(int n) { num = n; } public int nextPrime (int num) { for (int i=2; i < num; i++) // The first prime number is […]

Java中的素数测试如何工作?

下面的代码片段检查给定的数字是否为素数。 有人可以向我解释为什么这有效吗? 这段代码是我们为Java考试提供的学习指南。 public static void main(String[] args) { int j = 2; int result = 0; int number = 0; Scanner reader = new Scanner(System.in); System.out.println(“Please enter a number: “); number = reader.nextInt(); while (j <= number / 2) { if (number % j == 0) { result = 1; } j++; } if […]

素数问题

我正在尝试编写一个程序来找到一个非常大的最大素数因子,并尝试了几种不同的成功方法。 到目前为止我发现的所有这些都令人难以置信地缓慢。 我有一个想法,我想知道这是否是一个有效的方法: long number = input; while(notPrime(number)) { number = number / getLowestDivisiblePrimeNumber(); } return number; 这种方法需要输入,并将执行以下操作: 200 – > 100 – > 50 – > 25 – > 5(返回) 90 – > 45 – > 15 – > 5(返回) 它将currentNum重复除以最小的可分数(最常见的是2或3),直到currentNum本身为素数(没有可分的素数小于currentNum的平方根),并假设这是原始输入的最大素数因子。 这会一直有效吗? 如果没有,有人可以给我一个反例吗? – 编辑:非常大,我的意思是大约2 ^ 40,或10 ^ 11。

素数计算的乐趣

我们在工作中有点乐趣。 这一切都始于其中一个人设置了一个Hackintosh,我们想知道它是否比我们拥有的(几乎)相同规格的Windows Box更快。 所以我们决定为它写一点测试。 只是一个简单的Prime数字计算器。 它是用Java编写的,它告诉我们计算前n个Prime数字所需的时间。 下面的优化版本 – 现在需要~6.6秒 public class Primes { public static void main(String[] args) { int topPrime = 150000; int current = 2; int count = 0; int lastPrime = 2; long start = System.currentTimeMillis(); while (count < topPrime) { boolean prime = true; int top = (int)Math.sqrt(current) + 1; for […]

项目Euler#3永远使用Java

Project Euler上的问题#3是: 13195的主要因素是5,7,13和29。 600851475143的最大主要因素是什么? 我的解决方案永远。 我认为我得到了正确的实施; 然而,当用大数字进行测试时,我无法看到结果。 它永远运行。 我想知道我的算法是否有问题: public class LargestPrimeFactor3 { public static void main(String[] args) { long start, end, totalTime; long num = 600851475143L; long pFactor = 0; start = System.currentTimeMillis(); for(int i = 2; i < num; i++) { if(isPrime(i)) { if(num % i == 0) { pFactor = i; } […]

计算并打印第n个素数

我正在尝试计算素数,我已经完成了。 但我想计算和打印第n个素数(用户输入),在计算其余部分(它们不会被打印)时,只打印第n个素数。 这是我到目前为止所写的内容: import java.util.Scanner; /** * Calculates the nth prime number * @author {Zyst} */ public class Prime { public static void main(String[] args) { Scanner input = new Scanner(System.in); int n, i = 2, x = 2; System.out.printf(“This program calculates the nth Prime number\n”); System.out.printf(“Please enter the nth prime number you want to […]