[問題] pow 用 1/3 當指數開立方根

看板C_and_CPP (C/C++)作者 (五六不死)時間13年前 (2013/05/04 20:35), 編輯推噓1(1015)
留言16則, 9人參與, 最新討論串1/1
小弟有一個很笨的問題, 但是對我現在撰寫的程式很重要, 我有一個方程式必須使用到立方根, 也就是pow()函式, 目前遇到的問題是, 因為我開立方根的變數有負數, 像varible=pow(-8,1/3); varible的結果就是1 但換到正整數時 varible=pow(8,1/3); varible的結果就是2, 但是我開立方根前的數值會有負數, 我該怎麼做? 才能有正確立方根的輸出呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.122.103.157 ※ 編輯: iknow5566 來自: 140.122.103.157 (05/04 20:38)

05/04 20:41, , 1F
if else
05/04 20:41, 1F
if else ? ※ 編輯: iknow5566 來自: 140.122.103.157 (05/04 20:45)

05/04 20:47, , 2F
1F大概是要你先判斷正負再處理吧@@
05/04 20:47, 2F
現在在TRY!

05/04 20:57, , 3F
我用正數的也不對耶 http://ideone.com/6N8M8D
05/04 20:57, 3F
可能1.0/3.0要確定一下

05/04 20:57, , 4F
pow只能做複數的正整數次方
05/04 20:57, 4F
※ 編輯: iknow5566 來自: 140.122.103.157 (05/04 21:02)

05/04 21:46, , 5F
傻子, 開立方根我們都用 cbrt(). 你不覺得 1/3 很詭異
05/04 21:46, 5F

05/04 21:47, , 6F
嗎? 平方根用 1/2 那還有點道理, 不過也是有專責函式
05/04 21:47, 6F

05/04 21:47, , 7F
sqrt(). 不要寫那種別人不懂的程式碼...
05/04 21:47, 7F

05/05 00:09, , 8F
我看要考慮使用complex mathematics。
05/05 00:09, 8F

05/05 00:56, , 9F
1/2有點道理為什麼1/3就詭異 XD
05/05 00:56, 9F

05/05 03:53, , 10F
1/3=0 所以很詭異 XD
05/05 03:53, 10F

05/05 03:54, , 11F
原PO的1/3不是零 沒注意到
05/05 03:54, 11F

05/05 04:26, , 12F
GOOGLE 一下 有逼近解 http://ppt.cc/lqq9
05/05 04:26, 12F

05/05 15:13, , 13F
如果1/3=0是很詭異的原因 1/2也是0也不應該有道理阿XD
05/05 15:13, 13F

05/05 15:23, , 14F
我猜板主的想法是 1/2 至少還是準的, 1/3 除不盡, 出來的
05/05 15:23, 14F

05/05 15:24, , 15F
結果根本不對, 所以完全沒有道理
05/05 15:24, 15F

05/05 22:05, , 16F
到底是不是在算複變阿
05/05 22:05, 16F
文章代碼(AID): #1HXG2hCS (C_and_CPP)
文章代碼(AID): #1HXG2hCS (C_and_CPP)