gpt4 book ai didi

c++ - 如何仅使用加法和赋值来执行乘法?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:58:02 26 4
gpt4 key购买 nike

如何更改以下程序,使其执行相同的任务,但仅使用添加和赋值?

我最多只能做 27 次加法,并且必须在单个输入中生成输出。不允许循环和其他控制流操作

#include <iostream>

int main()
{
int a;
std::cout << "Enter number: ";
std::cin >> a;

std::cout << a*29 << std::endl;

return 0;
}

最佳答案

另一种需要 7 个 + 的方法:

int M1  = a;        // 1a
int M2 = M1 + M1; // 2a
int M4 = M2 + M2; // 4a
int M8 = M4 + M4; // 8a
int M16 = M8 + M8; // 16a
int res = M16 + M8 + M4 + M1; // 29a

结果由乘数的二进制模式构成,即十进制的 29 是二进制的 0001.1101。所以我们需要添加 M16、M8、M4 和 M1(并排除 M2)。

关于c++ - 如何仅使用加法和赋值来执行乘法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46361473/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com