gpt4 book ai didi

c++ - 自然数的集合论定义(递归)

转载 作者:行者123 更新时间:2023-11-28 06:17:17 27 4
gpt4 key购买 nike

我正在学习一门离散数学类(class),我需要开发一个 C++ 程序,该程序接收一个字符串作为输入并返回它所代表的自然数(如果有的话)。自然数定义如下:0 = {}, 1 = {{}}, 2 = { {} {{}} }, 3 = { {} {{}} {{} {{}}} } 等等。我认为这可以在基本情况为“{}”的情况下递归完成,但我不确定如何考虑解决方案。我的一个 friend 告诉我,他注意到左括号的数量总是 2^n,但我觉得这并没有那么简单,因为我认为这有一些问题。谢谢!

最佳答案

只计算开大括号并不能区分格式正确的输入和格式错误的输入。

首先编写一个程序,该程序可以在给定输入值的情况下构造和输出大括号形式的数字。

这将为您澄清问题。那么您能否将大括号输入与您构造的大括号字符串之一进行匹配?你能从那里得到完整的解决方案吗?

编辑: 上述解题技巧是先解一个较简单的子问题或相关问题。另一种方法是寻找多种方法,然后选择一种(如果发现困难,请准备好转换)。

解决此问题的另一种方法是将输入读入一组 STL 集合。像这样的东西:

class Set {
std::set<Set> elements;
public:
void read(std::istream in) {...} // recursively reads & adds Sets
int size() {...}
}

关于c++ - 自然数的集合论定义(递归),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30017975/

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