首页 > 代码库 > 怎么求前50个素数?

怎么求前50个素数?

最近在看计算机博士的视频,有感

以前 我印象中for循环的循环条件只对于for的i,现在发现,原来还可以用其他条件.只能说长期这么使用造成思维懒惰了

下面放出代码 

package d720;

import static java.lang.System.out;

/**
* 7/20/2017 1:27 PM
*/

public class NewPrime2 {
public static void main(String[] args) {
// get previous fiftieth prime
int[] primes = new int[50];
primes[0]=2;
int cnt=1;
label:
for(int i=3;cnt<50;i++){
for(int j=2,s=i;j<s;j++){
if (i%j==0) {
continue label;
}
}
primes[cnt++]=i;
}
out.println(cnt);
int i=0;
for (int prime : primes) {
i++;
out.println(prime);
}
out.println("i+"+i);
}
}

首先在一个for循环中使用两套循环,需要先定义一个循环变量,判断条件变成是另外的一套,其次这里的contiune label也基本不用
主要就是改变重新开始循环的位置
补充一点 关于contine的用法 可以看成是不满足条件 我就不做下面的代码,意思可以是正常会跑,如果出了意外(满足if条件)那么我就不跑下面的代码了
是if-else在循环中的另外一种用法
因为在很多情况下,你能判断的,只有满足条件的,而不是不满足条件的 即判断条件只能是排除某些条件,而不是直接获得你想要的结果

that‘s all

 

怎么求前50个素数?