首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >黎曼假设素数定理

黎曼假设素数定理
EN

Stack Overflow用户
提问于 2015-05-31 13:50:19
回答 3查看 322关注 0票数 1

所以我在研究黎曼假设素数定理,

现在我的循环在isPrimeNumber方法中,循环是可以的,因为我在一个单独的类上测试了它,它运行得很好。primes是我的文本区。我在这里的问题是,当我在我的领域中输入任何数字时,我想要在我的文本区域中附加信息,但是当我输入100时,它给了我1-99的素数,但是现在它给了我10,000个素数--所有素数。任何帮助都将不胜感激。一切都很好。我试过调试,但找不到问题,仍然了解更多关于调试的知识。

代码语言:javascript
复制
public void run() {
        int quantity = Integer.parseInt(field.getText());
        int primeNumbers = 0;
        int allNumbers = 2;
        primes.append("This are the Prime Numbers In " + quantity + " Riemann Hypothesis ");
        while(primeNumbers<quantity){
            if(isPrimeNumber(allNumbers)){
                primes.append(allNumbers + " ");
                primeNumbers++;
            }
            allNumbers++;
        }
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-05-31 13:55:00

你的算法现在给出了前100个素数(可以达到541,而不是10000)。如果要将素数从1改为100,则更改

代码语言:javascript
复制
while(primeNumbers<quantity){

代码语言:javascript
复制
while(allNumbers<quantity){
票数 3
EN

Stack Overflow用户

发布于 2015-05-31 13:58:13

您的变量primeNumbers基本上是在计算生成的素数。但是在您的比较中,您可以让primeNumbers<quantity检查生成的素数是否小于数量。所以你的比较应该是allNumbers<quantity

票数 1
EN

Stack Overflow用户

发布于 2015-05-31 14:01:41

使用代码,如果输入100,则需要查找前100个素数,如果要查找100,则必须将数量与allNumbers进行比较,因此:

代码语言:javascript
复制
while(allNumbers < quantity)

如果您这样做,当您达到100,您停止检查号码。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30558207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档