如何区分可被 2 整除和可被 4 整除?
Posted
技术标签:
【中文标题】如何区分可被 2 整除和可被 4 整除?【英文标题】:How can differentiate between dividable by 2 and dividable by 4? 【发布时间】:2014-11-13 08:27:41 【问题描述】:我想创建一个程序:
第一项,做A,第二项,B,第三项,C,第四项,D,第五项,A,第六项,B,第七项C ,对于第 8 项,做 D .... 等等。模式是这样的。
现在,我可以区分奇数和偶数,但是我怎样才能实现上述,这个似乎行不通
if ( position % 2 == 0)
if ( position % 4 == 0)
D();
else
B();
else
if ( position % 3 == 0)
C();
else
A();
感谢您的帮助
【问题讨论】:
就在switch
上position % 4
!只有 4 种可能的结果:0、1、2 或 3
为什么是jquery标签?你是说javascript吗?
只使用你正在使用的语言标签,或者如果没关系,使用language-agnostic标签。
【参考方案1】:
position % 3 == 0
应该是
position % 4 == 3
选择每四个项目中的最后一个。您还需要重新排序函数调用以匹配您的描述;我认为正确的顺序是 A、C、D、B。
使用开关代码会更清晰:
switch (position % 4)
case 0: A(); break;
case 1: B(); break;
case 2: C(); break;
case 3: D(); break;
假设您实际使用的任何一种语言都支持这种结构。
【讨论】:
这适用于所有列出的语言,但 jquery 除外,因为这没有任何意义,jquery 是一个库,但适用于 javascript。【参考方案2】:你可以像关注一样尝试
if(position%4==1)
A();
if(position%4==2)
B();
if(position%4==3)
C();
if(position%4==0)
D();
这只是提供一个想法。如果你想使用if-else
,switch-case
方法,根据你的意愿改变。
【讨论】:
【参考方案3】:你可以试试:
switch (position % 4)
case 0:
A();
break;
case 1:
B();
break;
case 2:
C();
break;
case 3:
D();
break;
【讨论】:
以上是关于如何区分可被 2 整除和可被 4 整除?的主要内容,如果未能解决你的问题,请参考以下文章
[LeetCode] 974. 和可被 K 整除的子数组 !!!
[LeetCode] 974. 和可被 K 整除的子数组 !!!