我正试图产生一个低于10亿的素数列表。 我正在尝试,但这种结构是相当低劣的。 有什么build议么? a <- 1:1000000000 d <- 0 b <- for (i in a) {for (j in 1:i) {if (i %% j !=0) {d <- c(d,i)}}}
我只想问一下,如果这是检查数字是否为素数的正确方法? 因为我读了0和1不是素数。 int num1; Console.WriteLine("Accept number:"); num1 = Convert.ToInt32(Console.ReadLine()); if (num1 == 0 || num1 == 1) { Console.WriteLine(num1 + " is not prime number"); Console.ReadLine(); } else { for (int a = 2; a <= num1 / 2; a++) { if (num1 % a == 0) { Console.WriteLine(num1 + " is not prime number"); […]
我用C语言编写这个程序,testing一个数字是否为素数 。 我还不熟悉algorithm复杂性和所有这些大O的东西,所以我不确定我的方法是迭代和recursion的结合 ,实际上比使用纯粹的迭代方法更有效率。 #include<stdio.h> #include<stdlib.h> #include<math.h> typedef struct primenode{ long int key; struct primenode * next; }primenode; typedef struct{ primenode * head; primenode * tail; primenode * curr; unsigned long int size; }primelist; int isPrime(long int number, primelist * list ,long int * calls, long int * searchcalls); primenode * primelist_insert(long int prime, primelist […]
我一直在试图编写一个程序,将采取一个input的数字,并检查,看看它是否是一个素数。 如果这个数字实际上是一个素数,那么我迄今所做的代码是完美的。 如果这个数字不是一个素数,那么这个行为就会很奇怪 我想知道是否有人可以告诉我什么是代码问题。 a=2 num=13 while num > a : if num%a==0 & a!=num: print('not prime') a=a+1 else: print('prime') a=(num)+1 input24时给出的结果是:不是素不素不素素 我将如何修复每个奇数的报告素数的错误,而不是每个偶数的素数
我需要findfor循环或while循环的素数 我写了这个,但这是错误的 <?php $i = 1; while($i<5) { for($j=1; $j<=$i; $j++) { if ($j != 1 && $j != $i) { echo $i . "/" . $j . "=" . $i%$j . "<br />"; if ($i%$j != 0) { echo $i . "<br />"; } } } echo "<br />"; $i += 1; } ?> […]
我试图想出一个方法,需要一个整数,并返回一个布尔值来说,如果数是质数或不,我不知道多lessC; 谁会照顾给我一些指针? 基本上,我会这样做在C#中是这样的: static bool IsPrime(int number) { for (int i = 2; i < number; i++) { if (number % i == 0 && i != number) return false; } return true; }
我试图find最快的方法来检查给定的数字是否是素数(在Java中)。 以下是我提出的几种素质testing方法。 有没有比第二个实现(isPrime2)更好的方法? public class Prime { public static boolean isPrime1(int n) { if (n <= 1) { return false; } if (n == 2) { return true; } for (int i = 2; i <= Math.sqrt(n) + 1; i++) { if (n % i == 0) { return false; } } return true; } […]
什么是最优雅的方式来实现这个function: ArrayList generatePrimes(int n) 这个函数生成前n素数(编辑:其中n>1 ),所以generatePrimes(5)将返回一个ArrayList {2, 3, 5, 7, 11} ArrayList {2, 3, 5, 7, 11} 。 (我在C#中这样做,但我很满意Java的实现 – 或者其他类似的语言(所以不是Haskell))。 我知道如何写这个function,但是当我昨晚做了这个function的时候,并没有像我希望的那样好。 这是我想出来的: ArrayList generatePrimes(int toGenerate) { ArrayList primes = new ArrayList(); primes.Add(2); primes.Add(3); while (primes.Count < toGenerate) { int nextPrime = (int)(primes[primes.Count – 1]) + 2; while (true) { bool isPrime = true; foreach […]
可能重复: 素数的高效存储 只是我正在寻找的一个例子:我可以表示每一个奇数,例如对于给定的数字范围(1,10),从3开始: 1110 下面的字典可以挤得更正确吗? 我可以用一些工作来重复5的倍数,但是以1,3,7或9结尾的数字必须在这个位数中。 希望这会澄清我想要的。 我正在寻找最好的algorithm,检查一个数是否是质数,即布尔函数: bool isprime(number); 我想知道实现此function的最佳algorithm。 当然,会有我可以查询的数据结构。 我定义了最好的algorithm ,作为在范围(1,N)内产生一个具有最低内存消耗的数据结构的algorithm,其中N是一个常数。
在Javascript中,我将如何find0 – 100之间的素数? 我已经想过了,我不知道如何find它们。 我想过做x%x,但是我发现了这个明显的问题。 这是我迄今为止:但不幸的是,这是有史以来最糟糕的代码。 var prime = function (){ var num; for (num = 0; num < 101; num++){ if (num % 2 === 0){ break; } else if (num % 3 === 0){ break; } else if (num % 4=== 0){ break; } else if (num % 5 === 0){ break; } […]