cla*_*amp 1 language-agnostic algorithm
我想找一个描述这个系列的公式.我需要根据正整数设置一个布尔值.这很简单,但我被困住了,感觉有点愚蠢.
0 false
1 true
2 true
3 false
4 false
5 true
6 true
7 false
8 false
9 true
10 true
11 false
12 false
...
Run Code Online (Sandbox Code Playgroud)
所以标志在每个奇数处都会改变
好吧,对于每个奇数改变的标志,当且仅当模数运算符(n+3)%4 <= 1在哪里时,看起来你的布尔值应该是真的%:
n (n+3)%4 Boolean
-- ------- -------
0 3 false
1 0 true
2 1 true
3 2 false
4 3 false
5 0 true
6 1 true
7 2 false
8 3 false
9 0 true
10 1 true
11 2 false
12 3 false
:: : : :
Run Code Online (Sandbox Code Playgroud)
我故意添加三个而不是减去一个,因为有些语言对模数运算符应该对负数做什么有不同的想法.请记住,这与语言无关.如果您正在寻找类似C或C的语言解决方案,请参阅ChristofferHammarström的优秀答案((n + 1) & 2以防万一它消失) - 这些在这些特定语言中更为简洁.
| 归档时间: |
|
| 查看次数: |
123 次 |
| 最近记录: |