多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 互聯網 > 編程之美2.7 最大公約數,最小公倍數

編程之美2.7 最大公約數,最小公倍數

來源:程序員人生   發布時間:2014-10-10 08:00:00 閱讀次數:2064次

      書中的題目是求兩個數的最大公約數,其實這個問題時當我們學習C語言的時候老師就講過的算法,和教學中的求素數是一個類型的問題。

      我們當時學的方法是 “輾轉相除法”,即利用公式: f(x, y) = f(y, x % y),直到 x % y == 0,取x就是兩個數的最大公約數。

      但是書中說道,乘除運算太浪費時間了,所以,我們可以換一種方法去思考這個問題,乘除不能用,就只能是加減了,所以,書中利用如果一個數能夠同時整除x和y,則必能同時整除x-y和y,所以我們定義x和y的最大公約數是f(x,y),那么依據上面的思想,可以得到f(x,y) = f(x-y,y)。

      函數聲明如下:

int DutTheGreatestCommonDivisor(int, int);

      源代碼如下:

/* *這里的思想是:如果一個數能夠同時整除x和y,則必能同時整除x-y和y,所以 *我們定義x和y的最大公約數是f(x,y),那么依據上面的思想,可以得到f(x,y) = f(x-y,y) */ int DutTheGreatestCommonDivisor(int m, int n) { /*當m小于n時,需要交換兩個數字*/ if (m < n) return DutTheGreatestCommonDivisor(n, m); /*當n等于0,時,那么返回m就是最大公約數*/ if (n == 0) return m; else return DutTheGreatestCommonDivisor(m - n, n); }

      既然說到了最大公約數,那么和它相對應的是最小公倍數,不記得是上幾年級的時候,我們就學過一個公式,兩個數的最小公倍數計算方法是 : (x * y) / 最大公約數(x, y)。

      函數聲明如下:

int DutTheLeastCommonMultiple(int, int);

      源代碼如下:

/* *最小公倍數可以利用最大公約數得到,數學推導可以看看這個: *http://baike.baidu.com/view/341375.htm */ int DutTheLeastCommonMultiple(int x, int y) { return (x * y) / DutTheGreatestCommonDivisor(x, y); }



生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 日韩色小说 | 激情久久久久久久久久 | 国产亚洲视频在线观看 | 天天综合亚洲国产色 | 免费一级毛片在线观看 | xxxxxxx国产精品视频 | 在线观看的黄色网址 | 久久精品国产主播一区二区 | 国产亚洲欧美日韩综合综合二区 | 97热久久免费频精品99国产成人 | 日本aa大片在线播放免费看 | 亚洲综合精品一二三区在线 | 黄色一级a毛片 | 亚洲福利视频在线 | xxx久久| 亚洲美女视频网站 | 国产精品福利视频手机免费观看 | 欧美一区二区三区不卡免费观看 | 自拍偷自第11页 | 在线国产区 | 午夜爱爱网站 | 久久福利资源站免费观看i 久久高清一级毛片 | 日本japanesevideo黑人 | 日本不卡视频在线播放 | 美女精品永久福利在线 | 亚洲 日本 欧美 日韩精品 | 免费黄色福利 | 精品国产一区二区三区国产馆 | 精品国产免费第一区二区三区日韩 | 日本一级不卡一二三区免费 | 亚洲成人伊人网 | 国产a不卡 | 麻豆亚洲精品一区二区 | 欧美性88xx| 就操网| 国产美女激情视频无打码 | 久久亚洲精品中文字幕三区 | 中文字幕乱码无限2021丫丫 | 正在播放国产一区 | 狠狠se | 都市激情亚洲色图 |