用C++寫排列組合







我需要使用C++寫出一個執行程式,並希望他可以讓我輸入"我想要的數字",去進行重複的排列組合,並列出所有的排列數據。但每一次輸入數字的時候不管我輸入多少(n>=5)都只取五個進行重複排列誰可以幫幫我>"<有點小急,之前用手慢慢寫排列的結果寫到手都快斷掉了,希望有好心的人幫我用程式解決。往後我會需要1~7選五個或1~8選五個,一定都從1開始。EX:輸入數字"6"...顯示更多我需要使用C++寫出一個執行程式,並希望他可以讓我輸入"我想要的數字",去進行重複的排列組合,並列出所有的排列數據。但每一次輸入數字的時候不管我輸入多少(n>=5)都只取五個進行重複排列誰可以幫幫我>"<有點小急,之前用手慢慢寫排列的結果寫到手都快斷掉了,希望有好心的人幫我用程式解決。往後我會需要1~7選五個或1~8選五個,一定都從1開始。EX:輸入數字"6"他就會從1~6裡面任選五個重複排列....得到排列有→11111、11112、11113、11114、11115、11116、...~....、66666他會自動幫我排列所有的狀況。如果沒有辦法那麼順利的讓我輸入我想要的數字,那請幫我設計其中一個,好比1~6任取五個重複排列再請您告訴我要改哪裡他會變成1~7或1~8的執行程式。感激不盡~!!!!!更新:很抱歉我不會寫程式語言。我有看到人家問的>"http://tw.knowledge.yahoo.com/question/question?qid=1510041703187,他是35取7可重複排列。但我不知道要怎麼改變成我的需求的,我的也要印出所有的排列方法如同我列舉的那樣,一一列舉出來。麻煩您了~!!拜託>"更新2:謝謝NgJ,你的範例就是我想要的那樣!!!我試試看,以前有摸過一點點皮毛而已,但這個比較深的我不會寫,謝謝你!





你應該懂得操縱 C++ 編譯器吧,以下程序將會在你輸入所求最高值(1-9)后把結果輸出到一個名為 output.txt 的文本文件。我附上了示例,你可點擊這裡預覽輸入 6 所得結果。 #include #include #include using namespace std; void main() { int n, count = 0, comb[5] = {1, 1, 1, 1, 1}; ofstream outFile; outFile.open("output.txt"); do { cout << "Enter an integer: "; cin >> n; } while (n<1||n>9); cout << "Outputting... "; while (comb[0]<=n) { for (int i=0; i<5; i++) outFile << comb[i]; outFile << endl; count++; comb[4]+=1; for (int j=4; j>0; j--) { if (comb[j]>n) { comb[j]=1; comb[j-1]+=1; } } } outFile << " =================================== Total number of combinations: " << count << " ===================================" << endl; outFile.close(); cout << " Success! Saved to output.txt file. Total number of combinations: " << count << endl; system("pause"); }





post出你的程式,讓大家幫你想辨法吧!


以上文章來自奇摩知識家,如有侵犯請留言告知


https://tw.answers.yahoo.com/question/index?qid=20110206000016KK07532

9D1C50A44D654017
文章標籤
全站熱搜
創作者介紹
創作者 一根頭髮 的頭像
一根頭髮

一根頭髮 險害10周嬰截肢

一根頭髮 發表在 痞客邦 留言(0) 人氣(2)