c++ - 在简单的映射函数中避免 IF

标签 c++ ruby r function

我试图在以下映射函数中避免使用 IF:

 X  Y
 1  11
 2  10
 3  9
 4  8
 5  7
 6  6
 7  5
 8  4
 9  3
10  2
11  1
12  12

它基本上是 Y = (12 - X),除非 X = 12。在本例中,Y = 12

Y vector 是 X vector 移动一个位置的反向。有没有办法使用 minmax 或类似的东西来编写此函数以避免条件?

  • 我对这里的任何编程语言都不感兴趣

最佳答案

y = 12 - x%12;

适用于从 1 到 12 的所有 x% 是 C 风格的模数运算符,给出 x 除以 12 的余数。如果 x 为 12,则为零,而 x 表示 1 到 11。

关于c++ - 在简单的映射函数中避免 IF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25645506/

相关文章:

regex - 在字符串中的正则表达式匹配后插入计数器

r - 如何在大型稀疏矩阵中组合具有相同名称的列

ruby - 数组元素被修改

ruby - 在两个类之间共享一个类实例

c++ - 在 vector 上调用 clear() 并不会真正删除 data() 中的数据?

c++ - 如何通过 SNMP 代理在网络管理系统和进程之间建立信息交换和子程序执行?

c++ - 按原样保存用户输入-Ruby on Rails

r - 在 data.table 中使用 .EACHI 时如何访问 `i` 的所有列

c++ - 如何通过 gdb 调试 nodejs 插件

c++ - 如何在不使 Weak_ptr 的情况下解决 Shared_ptr Cyclic?