→ james732:我想問你這個程式的邏輯是什麼? 07/06 21:54
一個累加器 當a[3]超過一個門檻時 a[2]會加1
但a[3]不是歸零 是從a[2]+1開始算
a[2]a[1]與a[1]a[0]之間的關係依此類推
我的目地是要推算出當a值有幾個時 另一支程式大約要執行多久
推 tjjh89017:用vector???不過這到底是要做甚麼的??? 07/06 22:01
推 stonehomelaa:標題寫遞迴 裡面卻在問迴圈? 07/06 22:03
我是覺得這有點像遞迴 好像用迴圈寫不出來 也可能是我改的方式根本是錯的
也請各位不令賜教 謝謝各位了
※ 編輯: poiuy777 來自: 122.116.237.166 (07/06 22:27)
→ kinglord:1.照你說的邏輯 你第一個程式在a[1]>err那邊有錯 07/06 22:33
→ kinglord:2.第2個程式一堆括號標錯 然後????不知道你說哪行 07/06 22:34
→ kinglord:我是假設你是要問i=1時怎麼處理來回答 07/06 22:35
→ firejox:從原程式來看要改遞迴是還好... 07/06 22:35
→ kinglord:所以是要問遞迴阿 還以為是改迴圈錯誤的地方 07/06 22:38
→ firejox:會用return就可以解決了... 07/06 22:38
→ firejox:為什麼要用double 宣告a = =... 07/06 22:43
→ tjjh89017:如果是迴圈,是這個意思嗎??? 07/06 22:45
→ kinglord:tim=tim+1;照第一個程式來講 要放在for外面才對 07/06 22:48
→ tropical72:是以第一段code之邏輯為目標,換個較易維護的架構是嗎? 07/06 22:49
→ firejox:原code a[0] 與a[1]似乎沒關係 = =... 07/06 22:49
→ kinglord:if之前也少了a[i]=a[i]+1; 07/06 22:50
→ tjjh89017:@kinglord: 似乎沒差,因為都得離開for迴圈 07/06 22:51
→ kinglord:原CODE我猜寫錯了 照原PO說的邏輯 a[1]=a[0]+1; 07/06 22:51
不好意思 是我筆誤 因為我是從matlab轉過來的 一個起頭是1一個起頭是0 抱歉
→ tropical72:我覺得 tim 用 unsigned long long 會好點耶.. 07/06 22:51
→ kinglord:恩恩 沒差 我沒注意到 謝謝提醒 07/06 22:52
謝謝f大 我努力拜讀一下您的程式
※ 編輯: poiuy777 來自: 122.116.237.166 (07/06 22:59)
※ 編輯: poiuy777 來自: 122.116.237.166 (07/06 22:59)
→ firejox:@tjjh89017:2^10是哪招.... 07/06 23:00
→ kinglord:我想只是照原PO寫的直接COPY而已吧 虛擬碼0.0 07/06 23:03
→ kinglord:@tjjh89017:之前說錯 應該是a[i-1]=a[i-1]+1要提出if外面 07/06 23:04
→ kinglord:成為a[i]=a[i]+1才對 抱歉= = 07/06 23:05
→ firejox:什麼時候C/C++變得這麼先進了... 07/06 23:05
→ firejox:喔不~~ 小錯誤 if裡的別+1 07/06 23:12
再次謝謝f大 但是剛剛test一下 輸出似乎與原程式不同 http://codepad.org/44car4Ue
不過我會試著往這個方向去修改的 謝謝
經過一夜的折騰 遞迴真的不是像我一樣的一般人寫得出來的
也見識到了C版大家的熱情 謝謝各位的指導
※ 編輯: poiuy777 來自: 122.116.237.166 (07/07 00:32)
→ firejox:大概是a[0]的問題 if(!num)return (a[0]++)+1; 07/07 00:33