zoukankan      html  css  js  c++  java
  • 面试题:给出一个对应规则,让输入一个数取出是哪个手指

    题目类似:(因是口头给的,我也理解了一段时间才弄清楚)

    有以下规则:(原题大意是一串序列对应于5个手指)

    X           Y

    0    1

    1    2

    2    3

    3    4

    4    5

    5    4

    6    3

    7    2

    8    1

    9    2

    10    3

    11    4

    12    5

    13    4

    14    3

    ...    ...

    让随意输入一个X,输出一个对应的Y来

    经过分析,我采用如下方式:

    找到规律Y每8个一组,所以可以让X对8取余,余数就会与Y有关系,如下:

    int getY(const int X)

    {

      int temp = X % 8;//0,1,2,3,4,5,6,7

      if(temp > 4)

        return 8 - temp + 1;

      else

        return temp + 1;

    }

    虽然是可以实现的,不过考官要求不用大于判断,使用更精巧的方式来实现,我想了很长时间也没想出比用>更显得精巧的方式,实在是郁闷,还请知道的高人指教!

  • 相关阅读:
    Java异常面试题
    Quickhit快速击键
    多态and接口
    Java面向对象编程概述
    学生管理系统--分层开发
    类型转换
    文件上传
    ongl(示例3-6 多值类型的数据处理)
    ongl(原始类型和包装类型)
    Interceptor
  • 原文地址:https://www.cnblogs.com/XiaoG/p/1823654.html
Copyright © 2011-2022 走看看