[问题] 递回写最大公因子

楼主: 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