版权声明
1. 本站文章和资源均来自互联网收集和整理,本站不承担任何责任及版权问题。
2. 相关版权归作者及其公司所有,仅供学习研究用途,请勿用于商业目的。
3. 若侵犯您的版权,请发邮件至webmaster@ishare1.cn联系我们,我们确认后将立即删除。

问题描述:
已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少。
输入格式:
输入一个正整数N。
输出格式:
输出一个整数,表示你找到的最小公倍数。
样例输入:
9
样例输出:
504
数据规模与约定:
1
在线学习视频教程推荐:java课程
思路:
首先声明几个概念:
两个非0相邻自然数的最小公倍数是它们的乘积;相邻两个奇数的最小公倍数是它们的乘积;相邻两个偶数(0除外)的最小公倍数是它们乘积的一半。
现在上升到三个数的最小公倍数,要按照N的奇偶性分两种情况:
一、当n为奇数:n、n-1、n-2的乘积
二、当n为偶数:n-1、n-2、n-3是一组极大解,如果答案要大于当前值,只能是大于这3个数的乘积,那么只能把其中一个数变成n,并且三个数也要两两互质。n、n-2、n-3偶偶奇明显不互质;n、n-1、n-3偶奇奇;n、n-1、n-2偶奇偶明显不互质。
那么答案只能是n-1、n-2、n-3或者是n、n-1、n-3。但是n、n-3虽然是一个奇数,一个偶数,但是它们不连续可能不互质例如5,6,3三个数。
n为奇数:n、n-1、n-2
n为偶数: n是3的倍数 n-1、n-2、n-3
n不是3的倍数 n、n-1、n-3
示例如下:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
long N=input.nextLong();
long temp=0;
if(N
技巧:考虑N
推荐java相关文章教程:java开发入门
java乱码解决方法: 解决方式1(若乱码参数多,就比较低效) 浏览器默认编码为ISO-8859-1,后端Servlet接收请求参数,按照ISO-8859-1进行解码,得到二进制流,然后再用UTF-8编码。 示例代码: // 获得请求参数 String que…
爱分享




