算法训练之最大最小公倍数 ALGO002

简介: 算法训练之最大最小公倍数 ALGO002

算法训练之最大最小公倍数 ALGO002

问题描述

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

输入格式

输入一个正整数N。

输出格式

输出一个整数,表示你找到的最小公倍数。

样例输入

9

样例输出

504

数据规模与约定

1 <= N <= 106

当看到这个题目第一眼,想当然的以为会是N (N-1) (N-2)三者乘积,并且这个题目给出输入示例的9刚好输出示例的504符合这个想法,但仔细一想就会发现不对,比如当N = 6时,1~6的最小公倍数是3 * 4 * 5 =60,因此发现有数学知识涉及,不是简单的最后三个数相乘

这个题涉及到的数学知识:

(1)、当N为奇数时,那么N,N-1,N-2互为质数,很明显NN-1N-2是1~N最小公倍数的最大值。

(2)、当N为偶数时,且能被3整除时,N-1,N-2,N-3互质,此时(N-1)(N-2)(N-3)是1到N最小公倍数的最大值;当N为偶数时,但不能被3整除时,N,N-1,N-3互质,此时N*(N-1)*(N-3)是1~N最小公倍数的最大值。

好了,话不多说,我的源代码如下:

import java.util.Scanner;
public class Main {
  public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    int N = scanner.nextInt();
    long []array = new long[N];
    for (int i = 0; i < N; i++) {
      array[i] = i + 1;
    }
    long m = 0 ;
    if (N % 2 == 1) {
      m = array[N-3] * array[N-2] * array[N-1];
    }else {
      if (N % 3 == 0) {
        m = array[N-4] * array[N-3] * array[N-2];
      }else {
        m = array[N-4] * array[N-2] * array[N-1];
      }
    } 
    System.out.println(m);
    scanner.close();
  }
}


相关文章
|
7月前
|
算法 Java Serverless
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-444 算法训练 求和问题
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-444 算法训练 求和问题
60 1
|
7月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-439 算法训练 简单字符变换
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-439 算法训练 简单字符变换
56 1
|
2月前
|
存储 机器学习/深度学习 算法
蓝桥杯练习题(三):Python组之算法训练提高综合五十题
蓝桥杯Python编程练习题的集合,涵盖了从基础到提高的多个算法题目及其解答。
113 3
蓝桥杯练习题(三):Python组之算法训练提高综合五十题
|
1月前
|
分布式计算 Java 开发工具
阿里云MaxCompute-XGBoost on Spark 极限梯度提升算法的分布式训练与模型持久化oss的实现与代码浅析
本文介绍了XGBoost在MaxCompute+OSS架构下模型持久化遇到的问题及其解决方案。首先简要介绍了XGBoost的特点和应用场景,随后详细描述了客户在将XGBoost on Spark任务从HDFS迁移到OSS时遇到的异常情况。通过分析异常堆栈和源代码,发现使用的`nativeBooster.saveModel`方法不支持OSS路径,而使用`write.overwrite().save`方法则能成功保存模型。最后提供了完整的Scala代码示例、Maven配置和提交命令,帮助用户顺利迁移模型存储路径。
|
2月前
|
机器学习/深度学习 算法 决策智能
【机器学习】揭秘深度学习优化算法:加速训练与提升性能
【机器学习】揭秘深度学习优化算法:加速训练与提升性能
|
2月前
|
算法 Java C++
【贪心算法】算法训练 ALGO-1003 礼物(C/C++)
【贪心算法】算法训练 ALGO-1003 礼物(C/C++)
【贪心算法】算法训练 ALGO-1003 礼物(C/C++)
|
2月前
|
算法 C++
蓝桥 算法训练 共线(C++)
蓝桥 算法训练 共线(C++)
|
5月前
knn增强数据训练
【7月更文挑战第27天】
43 10
|
5月前
|
数据采集 编解码 人工智能
破解ChatGPT惊人耗电!DeepMind新算法训练提效13倍,能耗暴降10倍
【7月更文挑战第19天】DeepMind的JEST算法革新AI训练,提升效率13倍,节能10倍。通过联合数据批次选择,预训练指导及多分辨率训练,优化资源利用,降低能耗。实验显示性能提升,达到SOTA水平,但实施需大量资源,依赖优质参考模型。[论文链接](https://arxiv.org/pdf/2406.17711)
75 10
|
5月前
knn增强数据训练
【7月更文挑战第28天】
48 2