【九度OJ】1040【求第k个素数】

来源:互联网 发布:读书有用 知乎 编辑:程序博客网 时间:2024/06/06 08:52

求第k个素数,题中给出k的范围了,所以先打个表,都求出来,给出具体的k时直接输出就可以了

代码:

package Test1;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.StreamTokenizer;public class Test26_1040 {/** * by qr jobdu 1040 2014-8-15 * @throws IOException  */public static void main(String[] args) throws IOException {int prime[]=new int[10001];int index=0;  //指向插入的最后一个素数的位置int num=2;while(index!=10000){if(isprime(num))prime[++index]=num;num++;}StreamTokenizer st=new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));int k;while((st.nextToken())!=StreamTokenizer.TT_EOF){k=(int)st.nval;System.out.println(prime[k]);}}private static boolean isprime(int num) {int sqrtn=(int) Math.sqrt(num);for(int i=2;i<=sqrtn;i++){if(num%i==0)return false;}return true;}}
感觉自己有的时候会把题想得难和复杂,还有点不会变通。。。。还是得多练习呀!

0 0
原创粉丝点击