我被分配了一个学校项目,在这个项目中,我需要尽可能多地使用整数 2 3 4
和运算符 + - */%
。然后我必须用 cout
输出整数以及我是如何得到答案的。例如:
cout << "2 + 3 - 4 = " << 2 + 3 - 4;
我只能在每个 cout
语句中使用每个整数一次,并且不能有重复的答案。
其他人似乎都在使用“强力”方法(即复制和粘贴相同的语句并更改数字和运算符),但这似乎效率不高。我想我会尝试一个一个地循环遍历每个数字和运算符,并检查是否已经找到答案,但我不确定最简单的方法是什么。
我想我可以使用嵌套循环,但仍然存在检查答案是否已找到的问题。我尝试将答案存储在向量中,但我无法将向量传递给用户定义的函数,该函数检查向量中是否存在值。
最佳答案
您可以使用标准模板库 (STL) 中的 map
或 hash_map
。这些结构有效地存储键值对。在使用它们之前先阅读它们,但它们可能会给你一个很好的起点。提示:您计算的整数可能会成为很好的 key 。
关于performance - 处理 "all combinations"项目的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4151025/