看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《withdrawn (翔)》之銘言: : 1. : 學校考試題目有一題畫三角形 : 要求不能用迴圈 只能用遞迴 : 可是到現在我只會用for和寫一個prchar函式來畫 : 這題真的不知道怎麼想= = 完了我手癢了 XD main(n,v){v*=!!~-n,putchar(v?42:10),main(n+!v,v+n*!v-!!v);} 啊? 終止? stack overflow 時就停啦 (笑) 好啦認真一點 main(n,v){n>0?scanf("%d",&v),main(-v,v):n&&main(n+!v,~-v-n*!v)+putchar(n+v?42: 10);} (逃) ====================== 以上好孩子千萬不要學的分隔線 ====================== 真的認真的啦 上篇推文的兩層遞迴是個解法 (就是把兩個 for 硬拆成兩次遞迴) 再不然就是傳兩個參數 一個記現在第幾層 一個記印了幾個 (上面兩支程式就是這麼做的) 至於推文 code 裡說的倒序問題 只要換一下遞迴呼叫的地方就可以了 (也就是先印完"前面列"再印這一行) (上面第二支程式就是這樣) 這樣就不用把終止條件一直傳下去 當然你要多傳一個參數也是沒差啦 -- 'You've sort of made up for it tonight,' said Harry. 'Getting the sword. Finishing the Horcrux. Saving my life.' 'That makes me sound a lot cooler then I was,' Ron mumbled. 'Stuff like that always sounds cooler then it really was,' said Harry. 'I've been trying to tell you that for years.' -- Harry Potter and the Deathly Hollows, P.308 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.28.92
VictorTom:聽說拿main來遞迴寫作業這件事小弟也回過別人的問題XDD 05/25 10:07
cutecpu:推短碼(Y) 05/25 10:20
withdrawn:感謝解答 05/25 11:00
costbook:這樣寫給同學過+1 05/25 12:02
loveme00835:對吼 XD 05/25 12:48
loveflames:main這樣寫好像不合標準? 05/25 14:23
ledia:it's better to replace n to __ and v to _ 05/25 22:16