Java程序员

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

2018-09-12  本文已影响7人  Java架构技术分享

    最近在网上上看到一道题,据说淘汰了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("#");

            }

        }

    }

}

上一篇下一篇

猜你喜欢

热点阅读