-5

次のようなことをするためのより良い方法はありますか...

int VarableNumberOne = RandomNumberGenerator();
int VarableNumberTwo = RandomNumberGenerator();

if(VarableNumberOne == 4 || VarableNumberOne == 8 || VarableNumberOne == 12)
{
//do code
}
else if(VarableNumberTwo == 4 || VarableNumberTwo == 8 || VarableNumberTwo == 12)
{
//do code
}

最短のコードを思い付くことができる人が勝ちます。

4

3 に答える 3

2

RandomNumberGeneratorが返ってくるかによります。4、8、および12が返される4の倍数だけであると仮定すると、次のようなことができます。

if (VarableNumberOne % 4 == 0)
{
    //do code
}
else if (VarableNumberTwo % 4 == 0)
{
    //do code
}
于 2012-08-01T15:38:47.430 に答える
1

必要な値の逆マスクをチェックし、値がゼロでないかどうかを確認する必要があります。

int a = RandomNumberGenerator();
int b = RandomNumberGenerator();

if( a && !( a & ~12 ) )
{
//do code
}
else if( b && !( b & ~12 ) )
{
//do code
}
于 2012-08-01T16:34:17.053 に答える
0
if (variableNumberOne & 12) {
     // ...
} else if (variableNumberTwo & 12) {
    // ...
}
于 2012-08-01T15:41:51.560 に答える