当前位置: 首页 > news >正文

求最大公约数和最小公倍数

public class GCD {

	//求最大公约数(非递归版本)
	public int gcd(int a,int b){
		//不申请变量空间的情况下交换两个数
		if(a<b){
			a^=b;
			b^=a;
			a^=b;
		}
		int t = 0;
		while(b!=0){
			t = a;
			a = b;
			b = t%b;
		}
		return a;
	}
	//求最大公约数(递归版本,调用前要先保证a大于b)
	public int gcd2(int a,int b){
		if(b==0)
			return a;
		else
			return gcd2(b,a%b);
	}
	//利用求得的最大公约数可以方便的求最小公倍数
	public int lcm(int a,int b){
		int temp = gcd(a,b);
		return a*b/temp;
	}
	//判断是否为素数(质数)
	public boolean isPrime(int a){
		int n = (int)Math.sqrt(a);
		//素数除了2之外都是奇数
		if(a==2)return true;
		for(int i=2;i<=n;i++)
			if(a%i==0)return false;
		return true;
	}
	public static void main(String args[]){
		GCD test = new GCD();
		System.out.println(test.gcd(21, 30));
		System.out.println(test.gcd(30, 21));
		System.out.println(test.lcm(6, 4));
	}
}


相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 方案撰写注意事项
  • Linux 常用命令使用方法大搜刮
  • 应用Hash函数(java描述)
  • 用java实现生产者和消费者问题
  • 【转】AngularJS 日期格式化 字典
  • Struts的线程安全问题
  • JSP中的pageEncoding和contentType的区别
  • 2016-wing的年度总结
  • java中split() replace() replaceAll()三个函数分析
  • SPOJ-COLONY - Linearian Colony!简单二分思想
  • msfconsole 控制台使用和操作
  • 数据库范式
  • sed awk grep三剑客常用
  • 数据库事务隔离级别
  • 全排序算法
  • Angular 响应式表单 基础例子
  • fetch 从初识到应用
  • JAVA SE 6 GC调优笔记
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • JS字符串转数字方法总结
  • Object.assign方法不能实现深复制
  • Vue 2.3、2.4 知识点小结
  • vue-loader 源码解析系列之 selector
  • webgl (原生)基础入门指南【一】
  • 对JS继承的一点思考
  • 和 || 运算
  • 聊聊flink的BlobWriter
  • 前端设计模式
  • 山寨一个 Promise
  • 无服务器化是企业 IT 架构的未来吗?
  • 小程序滚动组件,左边导航栏与右边内容联动效果实现
  • 转载:[译] 内容加速黑科技趣谈
  • 正则表达式-基础知识Review
  • # wps必须要登录激活才能使用吗?
  • #php的pecl工具#
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • #在线报价接单​再坚持一下 明天是真的周六.出现货 实单来谈
  • $.ajax中的eval及dataType
  • (12)目标检测_SSD基于pytorch搭建代码
  • (175)FPGA门控时钟技术
  • (二)原生js案例之数码时钟计时
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (附源码)计算机毕业设计SSM保险客户管理系统
  • (论文阅读26/100)Weakly-supervised learning with convolutional neural networks
  • (算法)Game
  • (一)认识微服务
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • (原創) 如何將struct塞進vector? (C/C++) (STL)
  • (转)memcache、redis缓存
  • (转)ObjectiveC 深浅拷贝学习
  • (转)Sql Server 保留几位小数的两种做法
  • (转)利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载 【反射】...
  • (转)一些感悟
  • (转载)Linux 多线程条件变量同步