[問題] 遞迴寫最大公因數

作者: pilor (Formosa)   2014-11-13 11:00:12
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
C
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
第一次發文就是來問剛剛期中考的題目
跪求各位大大了 很想知道
用遞迴寫最大公因數
餵入的資料(Input):
預期的正確結果(Expected Output):
錯誤結果(Wrong Output):
程式碼(Code):(請善用置底文網頁, 記得排版)
int gcd(int a ,int b){}
補充說明(Supplement):
目前想到用輾轉相除法去解但想不到怎麼變程式碼
作者: MOONRAKER (㊣牛鶴鰻毛人)   2014-11-13 11:08:00
想一想輾轉相除法每一步裡面有做什麼
作者: pilor (Formosa)   2014-11-13 11:11:00
餘數嗎?
作者: wuliou (wuliou)   2014-11-13 13:15:00
輾轉相除法啊
作者: tsoahans (ㄎㄎ)   2014-11-13 13:36:00
設a>b 則gcd(a,b)=gcd(b,a mod b) 再想最後一步要怎麼做
作者: jacky1989   2014-11-14 03:08:00
不然最基本方法,先分別把因數求出來,然後用兩個for去比對公因數,這樣就可以做出來了,只是比較慢而已
作者: ichleibeqbi (positive)   2014-11-14 10:40:00
用手推導輾轉相除法 一一對應到程式碼就可以收工了
作者: KawasumiMai (さあ、死ぬがいい)   2014-11-14 11:02:00
return a>b?gcd(b,a mod b):gcd(a,b mod a)結果就無窮迴圈了X
作者: m80126colin (許胖)   2014-11-15 06:14:00
return(a%b)?gcd(b,a%b):b;
作者: nonumber (空號)   2014-11-16 15:29:00
作者: sss22213 (sss22213)   2014-11-23 18:39:00
把輾轉相除法用筆做一次 就寫出來了

Links booklink

Contact Us: admin [ a t ] ucptt.com