整数划分问题(路径输出)【递归求解方式】
生活随笔
收集整理的這篇文章主要介紹了
整数划分问题(路径输出)【递归求解方式】
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
簡述
具體的算法解釋可以參照下面鏈接,非常詳細(xì)~
整數(shù)劃分問題【遞歸以及遞推求解方式】
代碼
#include <iostream> using namespace std; #include <string>void cal(int n, int m, string s){if (n == 0 || m == 0) return;if (n==1||m==1) {for (int i = 0; i < n-1; ++i) s += string("1+");cout << s<< "1\n";return;}if (m > n){return cal(n, n, s); } if (n==m) {cout << s<< n<< endl;return cal(n, m-1, s);}if (n-m != 0)cal(n-m, m, s + to_string(m) + string("+"));else {cout << s<< m<< endl;}cal(n, m-1, s); }int main(){int n;string s;while(cin >> n && n >= 1)cal(n, n, s); }總結(jié)
以上是生活随笔為你收集整理的整数划分问题(路径输出)【递归求解方式】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 整数划分问题【递归以及递推求解方式】
- 下一篇: DeprecationWarning: