• 最大最小公倍数


    蓝桥杯 ALGO-2 最大最小公倍数

    问题描述
    已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少。

    输入格式
    输入一个正整数N。

    输出格式
    输出一个整数,表示你找到的最小公倍数。
    样例输入
    9
    样例输出
    504
    数据规模与约定
    1 <= N <= 106

    分析:贪心算法,尽量找到三个数两两互质所得的最小公倍数就是最大的。
    若n,n-1,n-2两两互质,则最小公倍数就是三者的乘积。
    数论知识有,任意大于1的两个相邻的自然数互质。
    若n为奇数,则n-1是偶数,n-2是奇数;那么2就不是它们的公约数,又这三个数相邻,所以大于2的数都不可能成为它们的公约数,因此最小公倍数就是这三个数的乘积。
    若n为偶数,则n-1是奇数,n-2是偶数;那按照n(n-1)(n-2)来计算是不行的,那么就改成n(n-1)(n-3),如果这三个数两两互质就输出。
    但是因为n与n-3相差3,那么一个数可以被3整除,另一个也是可以;又因为n为偶数,n-3为奇数,所以2不可能成为它们的公因子;对于大于3的数,就不可能成为这三个数的公约数,因此只需再对3进行判断。

    如果n能整除3,那么,n(n-1)(n-3)就肯定不行了,因为n和n-3有了公约数3,最小公倍数肯定比较小了,那么就只能继续判下一个即n(n-1)(n-4)而这样n-4又是偶数,不行,继续下一个n(n-1)(n-5) = n^3 -6n^2 + 5n 而如果这个可以 那个其值肯定要小于(n-1)(n-2)(n-3) = n^3 -6n^2+11n-6(对于n>1来说都成立),而(n-1)(n-2)(n-3)由上一个奇数结论可知是一个符合要求的,因此到n-5就不用判断了。直接选答案为(n-1)(n-2)*(n-3);

    而n不能整除3,那么结果就是n(n-1)(n-3),因为n和n-3都不能整除3,此时n-1能不能整除3都无关紧要了。而对于其它数 都是不可能的。上面已证。

    import java.util.Scanner;
    
    public class Main {
    	public static void main(String ars[]){
    		Scanner sc = new Scanner(System.in);
    		long n = sc.nextInt();
                    sc.close();
    		if(n==1){
    			System.out.println(1);
    		}
    		else{
    			if(n==2){
    				System.out.println(2);
    			}else {
    				if(n%2 != 0){
                                            long result1 = n*(n-1)*(n-2);
    					System.out.println(result1);
    				}else{
    					if(n%3 != 0){
                                                    long result2 = n*(n-1)*(n-3);
    						System.out.println(result2);
    					}else{
                                                    long result3 = (n-3)*(n-1)*(n-2);
    						System.out.println(result3);
    					}
    				}
    			}
    		}
    	}
    
    }
  • 相关阅读:
    《javascript高级程序设计》第六章总结
    电子邮件写信页面开发代码
    JSON和XML的比较
    2014前端工程师基础课程作业
    cookie 和session 的区别详解
    substring()、slice()和substr()方法辨析
    Number()、parseInt()和parseFloat()辨析
    《javascript高级程序设计》第十三章知识点
    angular debounce 搜索去抖动/防抖
    js四舍五入保留两位小数的方法
  • 原文地址:https://www.cnblogs.com/AIchangetheworld/p/12849570.html
Copyright © 2020-2023  润新知