日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

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

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

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

      書中的題目是求兩個數的最大公約數,其實這個問題時當我們學習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); }



生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 欧美高清dvd| 国产亚洲区 | 日韩精品电影在线 | 欧美在线播放一区 | 国产精品久久久久9999 | 99视频一区二区 | 日韩精品一区二区久久 | 亚洲日韩中文字幕一区 | 亚洲一区二区在线免费观看 | 亚洲国产精品成人 | 九九九九九九九伊人 | 一区二区三区在线免费视频 | 久久久久国产一区二区三区四区 | 成人激情视频在线观看 | 久久九精品| 欧美一区二区大片 | 韩国日本美国免费毛片 | 激情视频一区二区三区 | 日韩欧美中文字幕在线观看 | 二区在线视频 | 全部免费毛片在线播放网站 | 亚洲综合国产 | 久久久久国产精品午夜一区 | 一区二区三区四区在线 | 日韩免费视频网站 | 国产精品欧美一区二区三区不卡 | 色婷婷色丁香 | 一区二区三区四区日韩 | 欧美日韩成人网 | 亚洲国产成人91精品 | 亚洲免费毛片 | 91在线一区二区 | 国产91色在线 | 亚洲 | 久久大 | 日本精品视频一区二区三区四区 | 久久久久国产一区二区三区 | 日本一区二区三区四区在线观看 | 国产精品6 | 日韩一区二区三区视频 | 91精品国产综合久久久久 | 日韩欧美在线看 |