[問題] 遞迴列印的問題
看板C_and_CPP (C/C++)作者storm654321 (spongebob)時間10年前 (2015/06/18 17:20)推噓3(3推 0噓 6→)留言9則, 7人參與討論串1/2 (看更多)
假設input x=4 y=8
output為:
1234
1235
1236
1237
1238
1245
1246
1247
1248
1256
1257
1258
1345
1346
1347
1348
1356
1357
1358
.
.(依此類推)
.
5678
我比較直觀的想法是這樣
for(i=1;i<6;i++)
{
for(j=i+1;j<7;j++)
{
for(k=j+1;k<8;k++)
{
for(l=k+1;l<9;l++)
{
printf("%d%d%d%d\n",i,j,k,l);
}
}
}
}
居然要用到四層的 for 迴圈
如果我的input x=100 y=1000
想要印出 串遍 的 1 2 3 4 ....100
1 2 3 4 ....101
.
.
901 902 903 904 ......1000
那不就要100個 for 迴圈才辦的到...
請問有不需要那麼多 for 迴圈就能辦到的方法嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 203.64.91.23
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1434619201.A.4D3.html
→
06/18 17:44, , 1F
06/18 17:44, 1F
推
06/18 17:44, , 2F
06/18 17:44, 2F
大概是像 大樂透 你可以選4個號碼 然後從1~8裡面抽四個
這樣的話 印出 可能的排列組合 就會是 123 (4~8)
124 (5~8)
可以把那個四層迴圈複製貼去debug看看@@!
只是要記得前面宣告 int i,j,k,l;
※ 編輯: storm654321 (1.173.5.240), 06/18/2015 17:56:50
※ 編輯: storm654321 (1.173.5.240), 06/18/2015 17:57:45
→
06/18 21:23, , 3F
06/18 21:23, 3F
→
06/18 23:49, , 4F
06/18 23:49, 4F
→
06/19 11:37, , 5F
06/19 11:37, 5F
推
06/20 13:34, , 6F
06/20 13:34, 6F
推
06/20 13:56, , 7F
06/20 13:56, 7F
→
06/20 13:57, , 8F
06/20 13:57, 8F
→
06/20 13:58, , 9F
06/20 13:58, 9F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章
93
140