看板 Programming 關於我們 聯絡資訊
#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