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

有以下规则:(原题大意是一串序列对应于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;

}

 

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

相关文章:

  • 2022-12-23
  • 2021-11-13
  • 2021-04-05
  • 2022-12-23
  • 2022-12-23
  • 2021-08-04
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-12-08
  • 2021-11-19
  • 2022-12-23
  • 2021-07-23
  • 2022-12-23
  • 2021-08-19
  • 2021-12-12
相关资源
相似解决方案