python刷题-最大最小公倍数

DaLongggggg
• 阅读 1551

问题描述

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

输入格式

输入一个正整数N。

输出格式

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

样例输入

9

样例输出

504

数据规模与约定

1 <= N <= 10**6。

N = int(input())
Min = 1
if N<=2:
    print(N)
elif N%2 != 0:
    print(N*(N-1)*(N-2))
else:
    if N%3 == 0:
        print((N-1)*(N-2)*(N-3))
    else:
        print(N*(N-1)*(N-3))
【解题思路】
1.要找到最大的最小公倍数,所以可以从N往下找
2.要找到最小公倍数,说明要从N’往下找到三个互质的数
3.任意大于1的两个相邻的自然数都是互质的;相邻的两个奇数是互质的
4.如果N<=2,可选择的范围只有1、2,最大的最小公倍数只能是2
5.接下来分类讨论N为奇数和偶数的情况:

如果N为奇数,N和与N相邻的数和与N相邻的奇数,三个数互为质数,这时候得到最大的最小公倍数为N*(N-1)*(N-2)【如:5,4,3(N为5)】
如果N为偶数,则需要讨论N是否为3的倍数:
若N为3的倍数,且N为偶数,N与N-2不互质,N与N-3也不互质,此时最大的最小公倍数为**(N-1)(N-2)(N-3)**【如:11,10,9(N为12)】
若N不为3的倍数,且N为偶数,则N与N-2不互质,N与N-3互质,此时最大的最小公倍数为N*(N-1)*(N-3)【如:8,7,5(N为8)】

转自蓝桥杯python 最大最小公倍数

点赞
收藏
评论区
推荐文章
DaLongggggg DaLongggggg
3年前
python刷题-序列求和
问题描述求123...n的值。输入格式输入包括一个整数n。输出格式输出一行,包括一个整数,表示123...n的值。样例输入4样例输出10样例输入100说明:有一些试题会给出多组样例输入输出以帮助你更好的做题。一般在提交之前所有这些样例都需要测试通过才行,但这不代表这几组样例数据都正确了你的程序就是完全正确的,潜在的错误可能仍然导致你的得分较低
DaLongggggg DaLongggggg
3年前
python刷题-字母图形
问题描述利用字母可以组成一些美丽的图形,下面给出了一个例子:ABCDEFGBABCDEFCBABCDEDCBABCDEDCBABC这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。输入格式输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。输出格式输出n行,每个m个字符,为你的图形。样例输入57样例输
先知 先知
3年前
C 语言代码大全
1两个数组的合并题目描述已知数组a中有m个按升序排列的元素,数组b中有n个按降序排列的元素,编程将a与b中的所有元素按降序存入数组c中。输入输入有两行,第一行首先是一个正整数m,然后是m个整数;第二行首先是一个正整数n,然后是n个整数,m,n均小于等于1000000。输出输出合并后的mn个整数,数据之间用空格隔开。输出占一行。样例输入4
DaLongggggg DaLongggggg
3年前
python刷题-特殊回文数
问题描述  123321是一个非常特殊的数,它从左边读和从右边读是一样的。  输入一个正整数n,编程求所有这样的五位和六位十进制数,满足各位数字之和等于n。输入格式  输入一行,包含一个正整数n。输出格式  按从小到大的顺序输出满足条件的整数,每个整数占一行。样例输入52样例输出899998989989998899数据规模和约定 
DaLongggggg DaLongggggg
3年前
python刷题-数列排序
资源限制时间限制:1.0s内存限制:512.0MB问题描述  给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1<n<200输入格式  第一行为一个整数n。  第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。输出格式  输出一行,按从小到大的顺序输出排序后的数列。样例输入583649样例输出34689···
DaLongggggg DaLongggggg
3年前
python刷题-进制转换
十六进制转八进制问题描述  给定n个十六进制正整数,输出它们对应的八进制数。输入格式  输入的第一行为一个正整数n(1<n<10)。  接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。输出格式  输出n行,每行为输入对应的八进制正整数。  【注意】  输入的十六进制数不会有
CuterCorley CuterCorley
3年前
C语言基础习题50例(四)16-20
给大家介绍一堂Python入门课,感觉还不错,适合初学者入门。习题16输入两个正整数m和n,求其最大公约数和最小公倍数。实现思路:求两个数的最大公约数分别采用辗转相除法、辗转相减法、枚举法得到,最小公倍数用两个数之积除以最大公约数即可获得。方式一——辗转相除法:思路:(1)将两整数求余a%bx;(2)如果x0;则b为最大公
DaLongggggg DaLongggggg
3年前
python刷题-数列特征
问题描述给出n个数,找出这n个数的最大值,最小值,和。输入格式第一行为整数n,表示数的个数。第二行有n个数,为给定的n个数,每个数的绝对值都小于10000。输出格式输出三行,每行一个整数。第一行表示这些数中的最大值,第二行表示这些数中的最小值,第三行表示这些数的和。样例输入513245样例输出5211数据规模与约定1<n<10000。
DaLongggggg DaLongggggg
3年前
python刷题-查找整数
问题描述给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。输入格式第一行包含一个整数n。第二行包含n个非负整数,为给定的数列,数列中的每个数都不大于10000。第三行包含一个整数a,为待查找的数。输出格式如果a在数列中出现了,输出它第一次出现的位置(位置从1开始编号),否则输出1。样例输入61948399样例输
Stella981 Stella981
3年前
279. 完全平方数 leetcode JAVA
题目:给定正整数 _n_,找到若干个完全平方数(比如 1,4,9,16,...)使得它们的和等于_n_。你需要让组成和的完全平方数的个数最少。示例 1:输入:_n_12输出:3解释:12444.示例2:输入:_n_13输出:2解释:134