首页新闻找找看学习计划

java代码实现100到200质数输出

0
悬赏园豆:5 [已解决问题] 解决于 2019-08-01 13:24

质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数。输出100到200之间的质数。

ycyzharry的主页 ycyzharry | 专家六级 | 园豆:18642
提问于:2019-07-31 22:53
< >
分享
最佳答案
0

网上挺多的:

int count1 = 0;
        for (int i = 101; i <= 200; i++) {              // 每一个数一个个接受检验是否为质数
            for (int j = 2; j <= Math.sqrt(i); j++) {
                if (i % j != 0) {                        //不能被整除累计一次
                    count1++;
                }
            }
            int num = (int) Math.sqrt(i);              //如果累计次数num - 1个数相等则为质数
            if (count1 == (num - 1)) {
                System.out.println(i);
            }
            count1 = 0;
        }
收获园豆:5
小光 | 小虾三级 |园豆:1825 | 2019-08-01 09:06

谢谢回答,下面也给一个答案供参考:

public class PrimeNumber {
    
    public static void main(String[] args) {
        
        for(int x=100;x<=200;x++){      
            int y;   
            for(y=2;y<x;y++)
            if(x%y==0)
            break;
            if(x==y)    
            System.out.println(x); 
            }
    
    }
    
  }

答案如下:
101
103
107
109
113
127
131
137
139
149
151
157
163
167
173
179
181
191
193
197
199

ycyzharry | 园豆:18642 (专家六级) | 2019-08-01 13:23
其他回答(2)
0

感觉这是大学课本里的练习题

骑着兔子的蜗牛 | 园豆:291 (菜鸟二级) | 2019-08-01 07:03
0

我去,你原来是在求作业呀,你都专家六级了还求作业,还给这么少的园豆?我告诉你怎么搞。你去看《算法新解》,里面有这个题目,而且效率秒杀@小光。小光这个100个数还可以,多了完犊子了

不好意思,我记错了,《算法新解》里说的是求丑数,不是质数。不过我觉得求质数可以用类似的思想

这篇文章不错:可能是求质数最高效的算法

会长 | 园豆:5328 (大侠五级) | 2019-08-01 09:40

哈哈,我是在网上搜的,运行了一下可以就贴上来了

支持(0) 反对(0) 小光 | 园豆:1825 (小虾三级) | 2019-08-01 10:43

@小光: 哈哈,不好意思,这样可以的,就是还有更好的办法肯定

支持(0) 反对(0) 会长 | 园豆:5328 (大侠五级) | 2019-08-01 10:51

谢谢回答 是一个测试开发岗位某家公司的面试题 记录一下

支持(0) 反对(0) ycyzharry | 园豆:18642 (专家六级) | 2019-08-01 13:23
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册