一道淘汰85%面试者的百度开发者面试题_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 一道淘汰85%面试者的百度开发者面试题

一道淘汰85%面试者的百度开发者面试题

 2014/4/27 12:26:28  银河使者  博客园  我要评论(0)
  • 摘要:最近在CSDN上看到一道题,据说淘汰了85%的面试者(只是据说而已)。心血来潮,随便写个算法,该算法很简单,主要就是考察应聘者是否注重细节。题干如下:依序遍历0到100闭区间内所有的正整数,如果该数字能被3整除,则输出该数字及‘*’标记;如果该数字能被5整除,则输出该数字及‘#’标记;如果该数字既能被3整除又能被5整除,则输出该数字及‘*#’标记。该题主要考察了如下几点。1.正整数。不知这题怎么出了,这是数学的概念
  • 标签:面试 百度 面试题 开发 开发者

     最近在CSDN上看到一道题,据说淘汰了85%的面试者(只是据说而已)。心血来潮,随便写个算法,该算法很简单,主要就是考察应聘者是否注重细节。题干如下:

    依序遍历0到100闭区间内所有的正整数,如果该数字能被3整除,则输出该数字及‘*’标记;如果该数字能被5整除,则输出该数字及‘#’标记;如果该数字既能被3整除又能被5整除,则输出该数字及‘*#’标记。

    该题主要考察了如下几点。

    1.  正整数。不知这题怎么出了,这是数学的概念。看到有很多答案从0开始扫描,0是整数,非正非负,应该从1、2或3开始扫描都可以。

    2.  题目给出了3个条件,应该先考虑条件苛刻的,也就是同时被3和5整除的,然后再考虑被3或被5整除的。

    3.  闭区间(这TM的玩文字游戏呢!)。所以不能用for(int i = 0; i < 100;i++)。有很多家伙习惯了,条件都是用“<”。

    下面是题目的答案。

    

public class SF
{
    public static void main(String[] args)
    {
        for(int i = 1; i<= 100; i++)
        {
            if(i % 3 == 0 && i % 5 ==0)
            {
                System.out.print("*#");
            }
            else if(i % 3 == 0)
            {
                System.out.print("*");
            }
            else if(i % 5 == 0)
            {
                System.out.print("#");
            }
            
        }

    }

}

 

最后输出的结果如下:

*#**#**#*#**#**#*#**#**#*#**#**#*#**#**#*#**#**#*#**#

发表评论
用户名: 匿名