我正在參加一個離散數學課程,我需要開發一個C++程序,它接收一個字符串作爲輸入並返回它表示的自然數(如果有的話) 。自然數定義如下: 0 = {},1 = {{}},2 = {{} {{}}},3 = {{} {{}} {{} {{}}}}和等等。我認爲這可以遞歸地完成,基本情況是「{}」,但我不知道如何去思考解決方案。我的一位朋友告訴我,他已經注意到,開放的大括號總是2^n,但我覺得這不是那麼簡單,因爲這有一些問題,我想。 謝謝!自然數的集合論定義(遞推)
0
A
回答
1
只計算開放大括號不會區分來自格式錯誤輸入的格式正確的輸入。
首先編寫一個程序,該程序可以構造並輸出給定輸入值的括號字符串表單編號。
這將澄清你的問題。那麼你可以將一個支撐字符串輸入與一個構造的支撐字符串進行匹配嗎?你可以從那裏到完整的解決方案嗎?
編輯:上述解決問題的技巧是先解決一個較簡單的子問題或相關問題。另一種技術是尋找多種方法,然後選擇一種方法(如果結果很難,則準備切換)。
解決此問題的另一種方法是將輸入讀入STL集合集。例如:
class Set {
std::set<Set> elements;
public:
void read(std::istream in) {...} // recursively reads & adds Sets
int size() {...}
}
相關問題
- 1. 自定義集合(的T)
- 2. MSTest數據源 - 傳遞自定義對象集合
- 3. 自定義Facebook評論集成(JS SDK)
- 4. AutoMapper自定義集合
- 5. 上自定義集合
- 6. RABL - 自定義集合
- 7. 創建自定義集合
- 8. 定義自定義可寫集合
- 9. 自定義集合 - 仍然值得額外的工作?
- 10. NHibernate自定義集合不會水合
- 11. 類的集合的自定義getters?
- 12. NHibernate中的自定義填充集合
- 13. 飛鏢的自定義集合?
- 14. MongoDB的自定義集合串行
- 15. Web.Config中的自定義部分/集合
- 16. 集合的自定義排序
- 17. symfony2中的自定義集合模板
- 18. 自定義排序的Magento集合?
- 19. 參數傳遞到自定義REST風格的路線的Rails(使用:集合)
- 20. 在特定的推文集合中定義趨勢的主題
- 21. JSP/JSTL:將集合傳遞給自定義標記
- 22. 如何將自定義集合類從VB.NET傳遞到VB6?
- 23. 如何驗證自定義集合編輯器中的集合?
- 24. 自定義集合/枚舉 - 如何過濾返回的集合?
- 25. Web.config文件 - 自定義配置,以保持集合的集合
- 26. 集合論數據結構
- 27. 擊:集合論
- 28. 自定義控件與自定義集合屬性
- 29. 數據綁定到自定義控件參數集合
- 30. 自定義推文
如果您確保輸入字符串格式正確(實際上代表數字),那麼計數大括號應該足夠。如果您還需要檢測並拒絕無效輸入,那麼事實並非如此簡單。 –
去掉外支架。將字符串拆分爲「元素」(開始和結束大括號平衡的序列)。在格式良好的字符串中,第一個元素必須是「{}」,並且每個後續元素都是所有先前元素的串聯,並由一對額外的大括號包圍。 –
請注意,數字n只是包含0到n-1的集合。 – chepner