网上挺多的:
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;
}
谢谢回答,下面也给一个答案供参考:
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
感觉这是大学课本里的练习题
我去,你原来是在求作业呀,你都专家六级了还求作业,还给这么少的园豆?我告诉你怎么搞。你去看《算法新解》,里面有这个题目,而且效率秒杀@小光。小光这个100个数还可以,多了完犊子了
不好意思,我记错了,《算法新解》里说的是求丑数,不是质数。不过我觉得求质数可以用类似的思想
这篇文章不错:可能是求质数最高效的算法
哈哈,我是在网上搜的,运行了一下可以就贴上来了
@小光: 哈哈,不好意思,这样可以的,就是还有更好的办法肯定
谢谢回答 是一个测试开发岗位某家公司的面试题 记录一下