By listing the first six prime numbers: 2, 3, 5, 7, 11, and 13, we can see that the 6th prime is 13.

What is the 10 001st prime number?

译文:

观察第一组质数可知,第6位质数为13,那么第10001位质数是多少呢?

============================

第一次code:

 import java.util.ArrayList;
 import java.util.List;

 public class Main
  {
       public static void main (String[] args)
       {
         System.out.println(binarySearch(prime(200000),10000));
       }
       /**
        * 对n个数进行求质数
        * 所求出质数存到ArrayList数组中
        * @param n
        * @return
        */
       public static List prime(int n)
       {
           List<Integer>list = new ArrayList<Integer>();
           for(int i=2;i<n;i++)
           {
               String b="YES";
                 int [] a = new int[n];
                 for(int j=2;j<i;j++)
                 {
                     a[j]=i % j;
                     if(a[j] == 0)
                     {
                         b="NO";break;
                     }
                 }
               if(b.equals("YES"))
               {
                   list.add(i);
               }
           }
           return list;
       }
       /**
        * 对ArrayList数组进行折半二查法查找
        * @param x
        * @param n
        * @return
        */
     public static int binarySearch(List x, int n)
     {
         int start = 0;
         int end = x.size() - 1;
         int mid = -1;
         while (start <= end)
         {
             mid = (start + end) / 2;
             if (mid == n)
             {
                 return (int) x.get(mid);
             }
             else if (mid > n)
             {
                 end = mid - 1;
             }
             else if (mid < n)
             {
                 start = mid + 1;
             }
         }
         return -1;
      }
  }

结果为:104743

时间效率:求出200000内的所有质数后,再检索出第10001位质数,所花时间为43638毫秒。

projecteuler 10001st prime (求出第10001个质数)的更多相关文章

  1. JAVA输入一个整数,求出其所有质因数

    首先得求出能整除A的数,再判断I是否是质数!!! import java.util.*; public class aa { public static void main(String[] args ...

  2. Trees in a Wood. UVA 10214 欧拉函数或者容斥定理 给定a,b求 |x|<=a, |y|<=b这个范围内的所有整点不包括原点都种一棵树。求出你站在原点向四周看到的树的数量/总的树的数量的值。

    /** 题目:Trees in a Wood. UVA 10214 链接:https://vjudge.net/problem/UVA-10214 题意:给定a,b求 |x|<=a, |y|&l ...

  3. 求出10000以内所有的完全数-python

    题目: 如何用python去求出下一个(大于28的)完全数? (求出10000以内所有的完全数) 分析: 如果一个数恰好等于它的因子之和,则称该数为"完全数".各个小于它的约数(真 ...

  4. 防御性编程习惯:求出链表中倒数第 m 个结点的值及其思想的总结

    防御性编程习惯 程序员在编写代码的时候,预料有可能出现问题的地方或者点,然后为这些隐患提前制定预防方案或者措施,比如数据库发生异常之后的回滚,打开某些资源之前,判断图片是否存在,网络断开之后的重连次数 ...

  5. Java程序设计求出岁数

    题目:我年龄的立方是个4位数.我年龄的4次方是个6位数.这10个数字正好包含了从0到9这10个数字,每个都恰好出现1次,求出我今年几岁. 直接拷贝运行就可以了. public class Age { ...

  6. 一个字符串中可能包含a~z中的多个字符,如有重复,如String data="aavzcadfdsfsdhshgWasdfasdf",求出现次数最多的那个字母及次数,如有多个重复的则都求出。

    主要掌握String中的方法 char[] toCharArray()           将此字符串转换为一个新的字符数组. int indexOf(String str)           返回 ...

  7. NSDateFormatter 根据时间戳求出时间

    NSDateFormatter 根据时间戳求出时间 - (void)detailWithStyle:(NSString*)style time:(NSInteger)time { // NSStrin ...

  8. OpenJudge计算概论-求出e的值

    /*======================================================================== 求出e的值 总时间限制: 1000ms 内存限制: ...

  9. Ruby求出数组中最小值及其下标

    其实很简单 Ruby的Array类自带了min方法可以求出最小值,然后调用Array的index方法传入元素值就可以求出下标 a = [1, 2, 3, 4, 5, 6] theMin = a.min ...

随机推荐

  1. Python学习路程day2

    import sys      #接收执行参数 #!/usr/bin/env python import sys print (sys.argv)​ 例: >>>python ind ...

  2. windows核心编程---第五章 线程的基础

    与前面介绍的进程一样,线程也有两部分组成.一个是线程内核对象.它是一个数据结构,操作系统用它来管理线程以及用它来存储线程的一些统计信息.另一个是线程栈,用于维护线程执行时所需的所有函数参数和局部变量. ...

  3. Jquery和Javascript 实际项目中写法基础 (1)

    一.JS 是什么,jquery 是什么  就不说明了,直接说一般使用是怎么样的 <!DOCTYPE html> <html> <head> <meta cha ...

  4. 地图和定位 、 iCloud

    1 FindMe应用 1.1 问题 MapKit框架可以用于创建现场交互的地图来显示用户想要设备显示的任何位置,包括用户的当前位置,甚至可以进行标记并查看地图上的标注信息.CoreLocation框架 ...

  5. TCP三次握手及四次挥手详细图解

    TCP三次握手及四次挥手详细图解 Andrew Huangbluedrum@163.com    相对于SOCKET开发者,TCP创建过程和链接折除过程是由TCP/IP协议栈自动创建的.因此开发者并不 ...

  6. python数据结构与算法——图的广度优先和深度优先的算法

    根据维基百科的伪代码实现: 广度优先BFS: 使用队列,集合 标记初始结点已被发现,放入队列 每次循环从队列弹出一个结点 将该节点的所有相连结点放入队列,并标记已被发现 通过队列,将迷宫路口所有的门打 ...

  7. HBase 实战(1)--HBase的数据导入方式

    前言: 作为Hadoop生态系统中重要的一员, HBase作为分布式列式存储, 在线实时处理的特性, 备受瞩目, 将来能在很多应用场景, 取代传统关系型数据库的江湖地位. 本篇博文重点讲解HBase的 ...

  8. linux的软硬链接的特性

    硬链接的特征: 1.拥有相同的i节点和储存block块,可以看作是同一个文件 2.可以通过i节点识别 3.不能跨分区 4.不能针对目录使用 软链接的特征: 1.类似于windows的快捷方式 2.软链 ...

  9. XListView刷新

    package com.example.da; import java.util.ArrayList;import java.util.List; import com.badu.net.Networ ...

  10. mysql保存数据提示1366 Incorrect string value: ‘\xF0\x9F\x98\x8A\xF0\x9F…’ 解决

    在保存数据时我们如果页面编辑与数据库字段编码不一样或字符集超出你了mysql数据库中的字符类型就有可能出一\\xF0\\x9F\\x98\\x8A\\xF0\\x9F提示了,下面我来简单的解决方法. ...