java求两个正整数最大公约数和最小公倍数完整程序

如题,大家可以参考参考

package lesson12;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class lesson12 {
	/**
	 * 输入两个正整数m和n,求其最大公约数和最小公倍数
	 */
	public static void main(String args[]) {
		// List<Integer> list=new ArrayList<>();
		Scanner scan = new Scanner(System.in);
		while (true) {
			List<Integer> list1 = new ArrayList<>();
			List<Integer> list2 = new ArrayList<>();
			List<Integer> list3 = new ArrayList<>();
			System.out.println("输入两个整数");
			int a = scan.nextInt();
			int b = scan.nextInt();
			int s=a;
			int s1=b;
			for (int i = 2; i <= a; i++) {
				while (a % i == 0) {
					a = a / i;
					list1.add(i);
				}
			}
			for (int i = 2; i <= b; i++) {
				while (b % i == 0) {
					list2.add(i);
					b = b / i;
				}
			}
			for (int i = 0; i < list1.size(); i++) {
				for (int j = 0; j < list2.size(); j++) {

					if (list1.get(i).equals(list2.get(j))) {
						list3.add(list1.get(i));// 最大公约数
						list2.remove(j);
						break;
					}
				}
			}
			int sum = 1;
			System.out.print("这两个数的最大公约数为:");
			for (int i = 0; i < list3.size(); i++) {
				sum = sum * list3.get(i);
				if(i<list3.size()-1)
				{
				System.out.print(list3.get(i)+"*");
				}
				else
				{
					System.out.print(list3.get(i)+"=");
				}
			}
			     System.out.println(sum);    
			    //由于两个数的乘积等于这两个数的最大公约数与最小公倍数的积
			     System.out.println("这两个数的最小公倍数为:"+(s*s1)/sum);
		}
		
	}
}

 

本页内容版权归属为原作者,如有侵犯您的权益,请通知我们删除。
private File file; private String fileFileName; private String picture; InputStream is = new FileInputStream(file); //引入一个IO流的输入流String root = ServletActionContext.getRequest() .getRealPath("/bookpicture"); //通过REQUEST来得到相对地址,并在后面加上/bookpictureFile f = ne

java-选择排序 - 2016-09-15 14:09:03

public class ChoiceSort {//选择排序public static void choiceSort(int[] a){int i,j,temp;int min=0;for(i=0; ia.length;i++){min=i; //将当前下标定义为最小值下标for(j=i+1;ja.length;j++){if(a[min]a[j]){/* 如果有小于当前最小值的关键字 */ min=j;/* 将此关键字的下标赋值给min */ }}if(i!=min){/* 若min不等于i,说明找

java-插入排序 - 2016-09-15 14:09:03

1、基本思想:每步将一个待排序的记录,按其顺序码大小插入到前面已经排序的字序列的合适位置(从后向前找到合适位置后),直到全部插入排序完为止。 /** * 插入排序 * * 从第一个元素开始,该元素可以认为已经被排序 * 取出下一个元素,在已经排序的元素序列中从后向前扫描 * 如果该元素(已排序)大于新元素,将该元素移到下一位置 * 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置 * 将新元素插入到该位置中 * 重复步骤2 * @param numbers 待排序数组 */ public stati

JAVA和C++区别 - 2016-09-15 14:09:03

Java和C++都是面向对象语言。也就是说,它们都能够实现面向对象思想(封装,继乘,多态)。而由于c++为了照顾大量的C语言使用者, 而兼容了C,使得自身仅仅成为了带类的C语言,多多少少影响了其面向对象的彻底性!JAVA则是完全的面向对象语言,它句法更清晰,规模更小,更易学。它是在对多种程序设计语言进行了深入细致研究的基础上,据弃了其他语言的不足之处,从根本上解决了c++的固有缺陷。 Java和c++的相似之处多于不同之处,但两种语言问几处主要的不同使得Java更容易学习,兄弟连JavaEE培训  ,并且编

配置文件的读取与写入 - 2016-09-15 14:09:03

读取配置文件: public static void main(String[] args) {Properties prop = new Properties();try {InputStream in = new BufferedInputStream(new FileInputStream("src/test/test.properties"));// 读取属性文件a.propertiesprop.load(in); // /加载属性列表System.out.println(prop.getPrope

android eclipse错误集合 - 2016-09-15 14:09:03

   1.  devices.xml 错误      [2016-09-14 15:20:11 - Android SDK] Error when loading the SDK:   Error: Error parsing D:\Users\shouzhuo3\AppData\Local\Android\sdk\system-images\android-22\android-wear\x86\devices.xml cvc-complex-type.2.4.d: 发现了以元素 'd:skin' 开头
这篇文章已经是有数年“网龄”的老文,不过在今天看来仍然经典。如何学习Java?本篇文章可以说也是面对编程初学者的一篇指导文章,其中对于如何学习Java的步骤的介绍,很多也适用于开发领域其他技能的学习。 【在原先《学好Java之我见》的基础上重新整理而成】 Java - 近10年来计算机软件发展过程中的传奇,其在众多开发者心中的地位就如“屠龙刀”、“倚天剑”。 我去年加入了一个java培训班,好在人品比较不错,没有被坑,学到了很多东西,也让我少走了很多弯路,Java是个平台,我只想说说我对学好Java的一点
今年我一直在思考web开发里的前后端分离的问题,到了现在也颇有点心得了,随着这个问题的深入,再加以现在公司很多web项目的控制层的技术框架由struts2迁移到springMVC,我突然有了一个新的疑问无法得到正确的解释,为什么我们现在做java的web开发,会选择struts2或者springMVC这样的框架,而不是使用servlet加jsp这样的技术呢?特别是现在我们web的前端页面都是使用velocity这样的模板语言进行开发,抛弃了jsp,这样的选择又会给我们java的web开发带来什么样的好处,延

简单的poi导出 - 2016-09-14 14:09:04

@Override     public void exportXlsNotBill(HttpServletResponse response, TSBaseUser user) throws UnsupportedEncodingException {         // 第一步,创建一个webbook,对应一个Excel文件         HSSFWorkbook wb = new HSSFWorkbook();         // 第二步,在webbook中添加一个sheet,对应Excel文件
JEECG-P3微服务框架         Jeecg-P3是一款轻量的 Java 微服务框架,类似spring-boot,采用Springmvc+Velicity实现,插件开发与容器技术最佳实现,目前已开发“在线聊天”“我的邮箱”“ 微信 企业号”“网站CMS”等插件,可单独运行,也可轻松无缝集成jeecg平台。         特点: 提供强大代码生成器,提高开发效率,插件开发模式、松耦合、可插拔、支持独立部署,也可以无缝集成Jeecg平台中 版本升级日志 支持minidao拦截器,添加自动注入创建时