国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

java實現多種方式求解最大公約數

2019-11-15 01:18:17
字體:
來源:轉載
供稿:網友
java實現多種方式求解最大公約數
/** * @author nonefly * 2015年8月27日 */public class Gcd {/**  * 暴力嘗試 */public static int gcd0(int a, int b) {if(a < 0 || b < 0)return -1;for (int i = a > b ? b : a; i > 1; i--) {if(a % i == 0 && b % i == 0)return i;}return 1;}/** 解法一  * 歐幾里得算法(輾轉相除法) * 求兩個數(a b,假設a > b)最大公約數, * 每次用較大數a除b取余, * 余數c不為0則讓較大數等于較小數,較小數等于余數,即: * a = b; b= c; */public static int gcd1(int a, int b) {if(a < 0 || b < 0)return -1;if(a == b || a == 0)return b;if(b == 0)return a;if(a < b)return gcd1(a, b % a);elsereturn gcd1(b, a % b);}/** * 更相減損術 來自《九章算術》 * ps:我也不知道這算法來頭,只是知道算法思想,查后才知它的出處和名字~ *  */public static int gcd2(int a, int b) {if(a < 0 || b < 0)return -1;if(a == b)return a;if((a & 1) > (b & 1))return gcd2(a, b >> 1);if((a & 1) < (b & 1))return gcd2(a >> 1, b);if((a & 1) == 0 && (b & 1) == 0)return gcd2(a >> 1, b >> 1) << 1;return gcd2(Math.abs(a - b), b > a ? a : b);}public static void main(String[] args) {System.out.PRintln(gcd0(99, 66));}}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宝兴县| 志丹县| 日喀则市| 秀山| 抚远县| 宽甸| 东阳市| 峨边| 济源市| 渭南市| 和平县| 安顺市| 藁城市| 夏河县| 弥勒县| 宁化县| 东乌珠穆沁旗| 贵溪市| 兴和县| 信宜市| 葫芦岛市| 申扎县| 东海县| 宜州市| 玛多县| 邹城市| 拉孜县| 昌宁县| 平南县| 磐安县| 特克斯县| 乐山市| 安福县| 雷山县| 深州市| 罗平县| 江孜县| 枝江市| 余干县| 宁阳县| 运城市|