如何区分可被 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();
                
            

感谢您的帮助

【问题讨论】:

就在switchposition % 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-elseswitch-case方法,根据你的意愿改变。

【讨论】:

【参考方案3】:

你可以试试:

switch (position % 4)
 
case 0:
 A();
 break;
case 1:
 B();
 break;
case 2:
 C();
 break;
case 3:
 D(); 
break;

【讨论】:

以上是关于如何区分可被 2 整除和可被 4 整除?的主要内容,如果未能解决你的问题,请参考以下文章

974. 和可被 K 整除的子数组

[LeetCode] 974. 和可被 K 整除的子数组 !!!

[LeetCode] 974. 和可被 K 整除的子数组 !!!

⭐算法入门⭐《前缀和》中等02 —— LeetCode 974. 和可被 K 整除的子数组

查找变量是不是可被 2 整除

总和可被k整除的最长子序列[关闭]