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,如需转载请自行联系原作者
目录
相关文章
|
6天前
|
算法 安全 Java
性能工具之 JMeter 自定义 Java Sampler 支持国密 SM2 算法
【4月更文挑战第28天】性能工具之 JMeter 自定义 Java Sampler 支持国密 SM2 算法
20 1
性能工具之 JMeter 自定义 Java Sampler 支持国密 SM2 算法
|
8天前
|
Java
Java面向对象实践小结(含面试题)(下)
Java面向对象实践小结(含面试题)(下)
20 1
|
7天前
|
存储 缓存 算法
面试遇到算法题:实现LRU缓存
V哥的这个实现的关键在于维护一个双向链表,它可以帮助我们快速地访问、更新和删除最近最少使用的节点,同时使用哈希表来提供快速的查找能力。这样,我们就可以在 O(1) 的时间复杂度内完成所有的缓存操作。哈哈干净利索,回答完毕。
|
8天前
|
存储 缓存 开发框架
Java基础面试题小结(下)
Java基础面试题小结(下)
16 0
|
8天前
|
存储 安全 Java
Java基础面试题小结(上)
Java基础面试题小结(上)
15 0
|
8天前
|
设计模式 Java
Java面向对象实践小结(含面试题)(上)
Java面向对象实践小结(含面试题)
13 1
|
10天前
|
Java
【JAVA面试题】static的作用是什么?详细介绍
【JAVA面试题】static的作用是什么?详细介绍
|
10天前
|
Java
【JAVA面试题】final关键字的作用有哪些
【JAVA面试题】final关键字的作用有哪些
|
10天前
|
JavaScript 前端开发 Java
【JAVA面试题】什么是引用传递?什么是值传递?
【JAVA面试题】什么是引用传递?什么是值传递?
|
10天前
|
安全 Java
【JAVA面试题】什么是对象锁?什么是类锁?
【JAVA面试题】什么是对象锁?什么是类锁?