我的编程空间,编程开发者的网络收藏夹
学习永远不晚

java中如何计算最小公倍数

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

java中如何计算最小公倍数

问题描述:

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

输入格式:

输入一个正整数N。

输出格式:

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

样例输入:

9

样例输出:

504

数据规模与约定:

1 <= N <= 106

在线学习视频教程推荐: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<=2){
            System.out.println(N);
        }
        else if(N%2==0){
            temp=(N-1)*(N-2)*(N-3);
            if(N%3!=0){
                temp=Math.max(temp,N*(N-1)*(N-3));
            }
            System.out.println(temp);

        }

        else {
            System.out.println(N*(N-1)*(N-2));
        }
    }


}

技巧:考虑N<3的情况,而且这道题注意用long。

推荐java相关文章教程:java开发入门

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

java中如何计算最小公倍数

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

java中如何计算最小公倍数

问题描述:已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少。输入格式:输入一个正整数N。输出格式:输出一个整数,表示你找到的最小公倍数。样例输入:9样例输出:504数据规模与约定:1 <= N <= 106在线学习视频教程推荐:jav
java中如何计算最小公倍数
2018-05-31

C语言如何计算两个数的最小公倍数

这篇文章主要介绍了C语言如何计算两个数的最小公倍数,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2022-11-16

c语言如何求最小公倍数

可以使用以下方法来求最小公倍数:```c#include int gcd(int a, int b) {if (b == 0) {return a;} else {return gcd(b, a % b);}}int lcm(int a,
2023-09-28

java求最大公约数与最小公倍数的方法示例

本文实例讲述了java求最大公约数与最小公倍数的方法。分享给大家供大家参考,具体如下:Gongyueshu.java文件:package math;public class Gongyueshu{ public static void m
2023-05-30

Python如何实现列表的最小公倍数

小编给大家分享一下Python如何实现列表的最小公倍数,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1. lcmfrom functools import red
2023-06-25

如何用C++求两个数的最大公约数和最小公倍数

最大公约数是指两个或多个整数共有约数中,最大的一个约数,常用的方法是欧几里得算法,也叫辗转相除法,下面这篇文章主要给大家介绍了关于如何用C++求两个数的最大公约数和最小公倍数的相关资料,需要的朋友可以参考下
2023-01-05

C语言如何求两整数的最大公约数与最小公倍数

这篇文章主要介绍了C语言中如何求两整数的最大公约数与最小公倍数,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2022-11-13

使用python中怎么求最小公倍数

这篇文章给大家介绍使用python中怎么求最小公倍数,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究;3、网络爬虫;4、嵌入式应用开发;5
2023-06-14

python中如何算出公约数

在Python中,可以使用以下方法来计算两个数的公约数:方法1:使用循环def get_common_divisors(num1, num2):common_divisors = []smaller_num = min(num1, nu
2023-10-27

c语言数组大小如何计算

在C语言中,可以使用sizeof运算符来计算数组的大小。sizeof运算符返回的是数组占用的总字节数。例如,对于一个int类型的数组arr,可以使用以下方式来计算其大小:```int arr[10];int size = sizeof(ar
2023-09-28

php中加减乘除计算公式如何写

这篇“php中加减乘除计算公式如何写”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php中加减乘除计算公式如何写”文章吧。p
2023-07-06

Java如何计算字符串中的单词数

Java中计算字符串单词数的方法:使用String.split()将字符串按空格拆分为数组,数组长度即单词数。使用正则表达式和Scanner遍历文本并读取单词,统计单词数。考虑因素:空格处理标点符号处理大小写敏感性效率特殊字符
Java如何计算字符串中的单词数
2024-04-02

Java如何计算数组的差异

Java数组差异计算本文提供了三种Java中计算数组差异的方法:异或运算符(^):返回元素异或运算结果,不同元素为非0。Arrays.equals()方法:比较数组是否相等,返回true或false。自定义方法:灵活定制计算过程。根据特定需求选择方法:快速简单:异或运算符比较相等:Arrays.equals()定制计算:自定义方法
Java如何计算数组的差异
2024-04-02

Java如何计算数组的交集

本文介绍了Java计算数组交集的方法,包括使用Arrays.asList()和Set.retainAll()、Collections.intersection()以及自定义算法。这些方法提供了不同等级的效率和灵活性,具体选择取决于数组大小、性能要求和代码复杂性。
Java如何计算数组的交集
2024-04-02

Java如何计算数学表达式

这篇文章主要为大家展示了“Java如何计算数学表达式”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java如何计算数学表达式”这篇文章吧。Java字符串转换成算术表达式计算并输出结果,通过这个工
2023-05-30

Java如何计算数组中所有值的乘积

本文介绍了在Java中计算数组所有值乘积的步骤和注意事项。首先,初始化一个变量存储乘积并遍历数组,逐一与数组元素相乘,不断更新乘积。代码示例展示了计算数组乘积的过程。效率为O(n),对于小数组足够快,大数组可能需考虑其他算法。需要注意数组为空或只含一个元素的情况,以及负数将影响乘积正负性,浮点数数组需使用double变量。
Java如何计算数组中所有值的乘积
2024-04-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录