zoukankan      html  css  js  c++  java
  • 蓝桥杯:最小公倍数

    解析:
    两种实现方式

    • 暴力求解,直接用for循环一个一个数增加,符合条件就返回
    • 公式求解法,先求出最大公约数c,再用公式:a*b/c
    package _4_9_test;
    
    import java.util.Scanner;
    
    /*最小公倍数
     * 
     * */
    public class SeventySix {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Scanner scanner = new Scanner(System.in);
    		int a = scanner.nextInt();
    		int b = scanner.nextInt();
    		
    		System.out.println("方法一:" + lcm1(a, b));
    		System.out.println("方法二:" + lcm2(a, b));
    	}
    
    	// 循环法
    	public static int lcm1(int a, int b) {
    		for (int i = Math.min(a, b);; i++) {
    			if (i % a == 0 && i % b == 0) {
    				return i;
    			}
    		}
    	}
    
    	// 利用最大公约数的公式法: a*b/最大公约数
    	public static int lcm2(int getA, int getB) {
    		int a = getA;
    		int b = getB;
    		int big;
    		
    		if (a < b) {
    			int temp = b;
    			b = a;
    			a = temp;
    		}
    
    //		求出最大公约数
    		while (a % b != 0) {
    			int temp = b;
    			b = a % b;
    			a = temp;
    		}
    		
    //		最大公约数
    		big = b;
    
    		return getA * getB / b;
    	}
    
    }
    
    

  • 相关阅读:
    [BJOI2006]狼抓兔子
    [HNOI2016]最小公倍数
    hihocoder 1419 重复旋律4
    [NOI2015]品酒大会
    [SDOI2016]生成魔咒
    [ZJOI2009]狼和羊的故事
    BZOJ4361 isn
    [SDOI2009]虔诚的墓主人
    BZOJ 3329 Xorequ
    [ZJOI2013]丽洁体
  • 原文地址:https://www.cnblogs.com/lyd447113735/p/12672316.html
Copyright © 2011-2022 走看看