作者ms0439883 (睡神阿德)
看板Programming
標題[請益] 求這段程式詳細的解釋
時間Sun May 19 01:14:48 2019
#include <iostream>using namespace std;
int parts[101];
void Partition(int limit, int now, int pointer) {
if (now < 0)
return;
if (!now) {
for (int i = 0; i < pointer; i++)
cout << parts[i] << ' ';
cout << '\n';
return;
}
for (int i = limit; i >= 1; i--)
parts[pointer] = i, Partition(i, now - i, pointer + 1);
}
int main() {
int number;
cin.sync_with_stdio(false), cin.tie(0), cout.tie(0);
while (cin >> number)
Partition(number, number, 0);
}
---------------------------------------------------------
這是C++的程式碼,
由於要用其他程式做題目,
所以查了C++的,
但是沒學過,
即便這陣子惡補了一下還是看無,
我要做的事情是整數分割,
有人能解釋一下它的邏輯嗎?
會一句是一句,
謝謝大家
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.250.226.72
※ 文章網址: https://www.ptt.cc/bbs/Programming/M.1558199690.A.B02.html
推 LPH66: 既然你看程式碼有問題的話就別找程式碼 110.50.134.48 05/19 02:12
→ LPH66: 找"演算法"才是你要的 110.50.134.48 05/19 02:12
→ MOONRAKER: 請洽codejob版 218.161.46.90 05/21 04:30