JAVA面试算法题1

简介:

引入:

最近网上看了一组JAVA面试算法题,我就尝试都做了下,每个都给出相应的JAVA实现,方便自己复习下差不多遗忘的算法。现在比较好的公司面试几乎都会面算法吧。


题目:

列出A到B区间(A<=X<=B)中所有的素数,并且打印出来


代码:

很简单,主要就是判断一个数是否为素数,方法是如果是1,那么不是素数,如果大于1,那么从2一直到它平方根,依次让该数对这些数取模,如果为0(表示整除了) ,那么就不是素数,否则是素数。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
package  com.charles.algo;
/**
  *
  * 题目:列出A到B区间(A<=X<=B)中所有的素数,并且打印出来
  * @author charles.wang
  *
  */
public  class  ListPrime {
                       
     private  ListPrime(){}
                       
     /**
      * 打印素数
      * @param zoneMin
      * @param zoneMax
      */
     public  static  void  printPrimes(  int  zoneMin, int  zoneMax){
         for ( int  i=zoneMin;i<=zoneMax;i++){
             if (isPrime(i)){
                     System.out.print(i+ " " );
             }
         }
     }
                       
                       
     /**
      * 判断一个数是否是素数,判断的方法是用2,3,4..一直到 sqrt(number)的值去作为除数,
      * 让number去除这些值,如果能整除,说明这个数不是素数
      * @param number
      * @return
      */
     private  static  boolean  isPrime( int  number){
                           
         //1不是素数
         if (number== 1 )
             return  false ;
                           
         //判断一个数是否是素数,判断的方法是用2,3,4..一直到 sqrt(number)的值去作为除数,
         //让number去除这些值,如果能整除,说明这个数不是素数
         for int  i= 2 ;i<=Math.sqrt(number);i++){
             if  (number%i == 0 ){
                 return  false ;
             }
         }
                           
         return  true ;
                           
     }
                       
     public  static  void  main(String [] args){
                           
         int  zoneMin = 2 ;
         int  zoneMax= 301 ;
                           
         System.out.println( "打印区间[" +zoneMin+ "," +zoneMax+ "]内所有的素数:" );
         printPrimes(zoneMin, zoneMax);
     }
}





本文转自 charles_wang888 51CTO博客,原文链接:http://blog.51cto.com/supercharles888/1345602,如需转载请自行联系原作者
目录
相关文章
|
17天前
|
负载均衡 算法 应用服务中间件
面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
字节跳动面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
32 0
|
2天前
|
存储 安全 Java
[Java基础面试题] Map 接口相关
[Java基础面试题] Map 接口相关
|
2天前
|
Java
[Java 面试题] ArrayList篇
[Java 面试题] ArrayList篇
|
2天前
|
设计模式 算法 Java
[设计模式Java实现附plantuml源码~行为型]定义算法的框架——模板方法模式
[设计模式Java实现附plantuml源码~行为型]定义算法的框架——模板方法模式
|
3天前
|
Java 调度
Java面试必考题之线程的生命周期,结合源码,透彻讲解!
Java面试必考题之线程的生命周期,结合源码,透彻讲解!
28 1
|
3天前
|
设计模式 搜索推荐 Java
面试官不按套路出牌,上来就让聊一聊Java中的迭代器(Iterator ),夺命连环问,怎么办?
面试官不按套路出牌,上来就让聊一聊Java中的迭代器(Iterator ),夺命连环问,怎么办?
12 0
|
3天前
|
存储 安全 Java
每日一道Java面试题:说一说Java中的泛型?
今天的每日一道Java面试题聊的是Java中的泛型,泛型在面试的时候偶尔会被提及,频率不是特别高,但在日后的开发工作中,却是是个高频词汇,因此,我们有必要去认真的学习它。
15 0
|
3天前
|
Java 编译器
每日一道Java面试题:方法重载与方法重写,这把指定让你明明白白!
每日一道Java面试题:方法重载与方法重写,这把指定让你明明白白!
14 0
|
7天前
|
XML 缓存 Java
Java大厂面试题
Java大厂面试题
18 0
|
7天前
|
存储 安全 Java
Java大厂面试题
Java大厂面试题
14 0