primes相关内容
自然,对于 bool isprime(number) 会有一个我可以查询的数据结构. 我定义了最佳算法,该算法在范围 (1, N] 内生成内存消耗最低的数据结构,其中 N 是常数. 只是我正在寻找的一个例子:我可以用一位表示每个奇数,例如对于给定的数字范围 (1, 10],从 3 开始:1110 下面的字典可以多挤一点吧?我可以通过一些工作来消除 5 的倍数,但以 1、3、7 或 9 结
..
要测试一个数是否为质数,为什么要测试它是否只能被这个数的平方根整除? 解决方案 如果一个数 n 不是质数,它可以分解成两个因式 a 和 b: n = a * b 现在a 和b 不能都大于n 的平方根,因为这样积a *b 将大于 sqrt(n) * sqrt(n) = n.所以在任何n的因式分解中,至少有一个因数必须小于n的平方根,如果我们找不到任何小于或等于的因数对于平方根,n 必须是
..
我正在尝试计算素数,我已经完成了.但是我只想计算和打印第 n 个素数(用户输入),而计算其余的(它们不会被打印)只打印第 n 个素数. 这是我到目前为止所写的内容: import java.util.Scanner;/*** 计算第n个素数* @author {Zyst}*/公共课总理{公共静态无效主(字符串 [] args){扫描仪输入 = 新扫描仪(System.in);国际n,我 =
..
我试图找到检查给定数字是否为质数的最快方法(在 Java 中).以下是我想出的几种素性测试方法.有没有比第二种实现(isPrime2)更好的方法? 公共类 Prime {公共静态布尔值 isPrime1(int n) {如果 (n methodMap = new TreeMap();for (方法方法:Prime.class.getDeclaredMethods()) {long startTi
..
实现这个功能最优雅的方式是什么: ArrayList generatePrimes(int n) 此函数生成前 n 个素数(编辑:where n>1),所以 generatePrimes(5) 将返回一个 ArrayList 和 {2, 3, 5, 7, 11}.(我正在 C# 中进行此操作,但我对 Java 实现感到满意 - 或任何其他类似的语言(因此不是 Haskell)). 我确实
..
我只是想知道为什么在类的 hashCode() 方法中使用素数?例如,当使用 Eclipse 生成我的 hashCode() 方法时,总是使用质数 31: public int hashCode() {最终 int 素数 = 31;//...} 参考: 这是我发现的关于 Hashcode 和散列如何工作的一篇很好的入门书(C#,但概念是可转移的):Eric Lippert 的 GetHa
..
我正在阅读 Eric Lippert 的最新博客文章,以了解 指南和 GetHashCode 的规则,当我点击这个段落时: 我们可以在这里更聪明;就像 List 在它变满时调整自己的大小一样,bucket set 也可以调整自己的大小,以确保平均 bucket 长度保持较低.此外,出于技术原因,将桶集长度设为质数通常是一个好主意,而不是 100.我们可以对这个哈希表进行很多改进.但是这个哈希
..
注意:下面的第 2 版使用 Eratosthenes 筛.有几个答案对我最初提出的问题有所帮助.我选择了 Eratosthenes 筛法,实施了它,并适当地更改了问题标题和标签.感谢所有帮助过的人! 简介 我编写了这个奇特的小方法,它生成一个 int 数组,其中包含小于指定上限的素数.效果很好,但我有一个顾虑. 方法 private static int [] generate
..
我需要使用 for 循环或 while 循环查找素数 这是我写的,但这是错误的
..
根据 Will Ness 的回答,我一直在使用 JavaScript 改编版来适应延迟筛分算法: function * primes() {产量 2;产量 3;产量 5;产量 7;常量筛 = 新地图();const ps = 素数();ps.next() &&ps.next();for (让 p = 3, i = 9; true; i += 2) {让s=sieve.get(i);如果 (s !
..
根据 Will Ness 的回答,我一直在使用 JavaScript 改编版来适应延迟筛分算法: function * primes() {产量 2;产量 3;产量 5;产量 7;常量筛 = 新地图();const ps = 素数();ps.next() &&ps.next();for (让 p = 3, i = 9; true; i += 2) {让s=sieve.get(i);如果 (s !
..
我花了一些时间来研究“质数对"的生成.来自 SICP 第 2.2.3 节 - 作为常规接口的序列,例如: (1 3) 不,因为 sum = 4 (1 4) 是的,因为 sum = 5 (prime) 这是我从头开始的,有效: #lang sicp ;RANGE 辅助函数(define (range a b) ; a to b(如果 (> a b) 无(缺点a(范围(+ 1 a)b
..
我编写此代码是为了查找素数,但如何更改它以查找梅森素数? def prime_test_list(n,known_primes):k = 1stop_val = len(known_primes)如果(n>2):而 k 解决方案 是这样的: def mersenne_test(n):k = 0米 = 0而 m
..
我找到了下面的代码,但它不起作用.请分享在VBA中编写质数的更合适的代码 Private Sub cmdPrime_Click()Dim p, n, i As Integerp = 1打印“质数是:"对于 n = 1 到 100对于 i = 2 到 n – 1如果 n Mod i = 0 那么p = 0退出别的p = 1万一下一个如果 p = 1 那么打印 n万一下一个结束子 解决方案 我猜
..
我有一项任务要求我执行以下操作: 创建一个名为 IsPrime() 的方法,它接受一个正整数作为参数.如果是素数,则该方法应返回 true.(质数只能被 1 和它本身整除).将此方法合并到名为 MyMathMethods 的类中.在名为 MainFile 的单独类中创建一个 main() 方法,该方法将通过使用输入对话框向用户询问一个数字来测试 IsPrime(),然后报告该数字是否为素数.
..
如果一个数 n 可以写成 axb 并且 m=sqrt(n).这里n=m*m.我们说我们只需要检查 m,因为 min(a,b) 解决方案 考虑 n = 143 = 11 * 13.143 的立方根在 5 到 6 之间.如果你只测试整除性到 6 的质数,你将找不到 n 的两个因数中的任何一个,并且会错误地得出 143 是质数.
..
我试图找到数百万以下的素数之和.当我试图找到低于十万的素数总和时,我的代码有效,但是当我找到大数时,它不起作用.所以我需要一些帮助才能让这项工作适用于大数字...... import java.util.Scanner;公共类 sumPrime {公共静态无效主(字符串参数[]){长 n = 2000000;国际我;int j;int sum =0;对于 (i=2; i
..
我正在参与 Project Euler 的项目 #10,其中要求我找出所有小于 2,000,000 的素数之和.出于某种原因,我无法让我的代码工作.我相当确定我不了解要使用哪些数据类型,但 int、long 或 long long 似乎都不起作用.任何帮助或建议将不胜感激.这是我的代码.谢谢. int main(int argc, char *argv[]){int 素数[100] = {2,
..
哥德巴赫猜想:每个大于 2 的正偶数都是两个素数之和.例如 28 (5,23 和 11,17) 我希望 Prolog 代码打印在下面(所有组合): ?- 哥德巴赫(28, L).输出 :L = [5,23];L = [11, 17]; 我有一个代码可以打印单个组合[5,23],但不能打印下一个[11,17]. is_prime(2).is_prime(3).is_prime(P) :-
..
这段运行良好的代码告诉你输入一个数字,然后它把for 循环中的数字,它检查它是否可以被 i 整除,如果为真,则打印不是素数,如果不是则打印素数. #include 使用命名空间标准;int main() {整数 x;cin >>X;布尔 f = 真;for (int i = 2; i
..