c++ - 是否可以编写在不使用任何条件语句的情况下交换输入的 C++ 函数?
问题描述
是否可以编写一个 C++ 函数,例如如果我们输入 9 然后程序返回 6,如果我们输入 6 程序返回 9 作为输出?不使用任何条件语句?
解决方案
您要求满足以下要求的功能:
f(x) = y
f(y) = x
对于一些固定的x
和y
。
您可以查找对合,它们是满足以下条件的函数:
f(f(x)) = x
搜索那些你可以在没有条件的情况下实现的,这通常意味着只使用整数和内置的算术运算符。
例如,异或:
f(x) = x ^ N
N
对于您使用给定x
/调整的某些固定值y
。
推荐阅读
- angular - PrimeNG饼图随机显示,分辨率变化显示
- python - 防止 Flask OSError: [Errno 98] 地址已在使用中
- python - 给出 json.decoder.JSONDecodeError 的有效 json: Expecting ',' delimiter
- yaml - 如何使用 openshift 中的参数更新 configmap 数据?
- python - 将基于统计信息的新列添加到 DataFrame
- python - 将 python 脚本转换为 Jupyter 并将输出保存为 html
- java - Java 泛型 - 为什么返回超类实例会产生编译错误
- docker - 如何在 kubernetes 上以非 root 身份挂载卷
- python - 如何将 python 放入路径中 - Ubuntu 20 npm 安装失败
- javascript - 如何在angular9中删除未使用的模块js调用