首页 > 解决方案 > 是否可以编写在不使用任何条件语句的情况下交换输入的 C++ 函数?

问题描述

是否可以编写一个 C++ 函数,例如如果我们输入 9 然后程序返回 6,如果我们输入 6 程序返回 9 作为输出?不使用任何条件语句?

标签: c++

解决方案


您要求满足以下要求的功能:

f(x) = y
f(y) = x

对于一些固定的xy

您可以查找对合,它们是满足以下条件的函数:

f(f(x)) = x

搜索那些你可以在没有条件的情况下实现的,这通常意味着只使用整数和内置的算术运算符。

例如,异或:

f(x) = x ^ N

N对于您使用给定x/调整的某些固定值y


推荐阅读