sdnu1464.最大最小公倍数 (数学)

Description

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

Input

输入一个正整数 N(1<=N<=10^6)

Output

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

Sample Input

9

Sample Output

504

求最小公倍数的最大值,使3个数尽量互质,并且尽量大,得到的就是最大的最小公倍数

从n开始向前找,

当n是奇数时,n  n-1  n-2三个数互质,所以n*(n-1)*(n-2)就是答案

当n是偶数时,若n是3的倍数,则n-1 n-2 n-3三个数互质,最大的最小公倍数为(n-1)(n-2)(n-3)

                       若n不是3的倍数,则n n-1 n-3三个数互质,最大的最小公倍数为n*(n-1)*(n-3)

while True:
    try:
        n=int(input())
        if n <= 2:
            print(n)
        else:
            if n % 2 == 1:
                print(n*(n-1)*(n-2))
            else:
                if n % 3 != 0:
                    print(n*(n-1)*(n-3))
                else:
                    print((n-1)*(n-2)*(n-3))
    except:
        break

 

全部评论

相关推荐

努力的小明a:项目看着很眼熟,施磊老师吧,我也学的这个😋我当时是把rpc框架做成了一个分布式网盘,这是一个项目,然后muduo库做成集群即时通讯,又用QT做了个交互的客户端,这样又一个项目,然后一个轻量redis,一个CAD,总共四个项目,投了三个月就今天2月份一个小厂Qt offer,然后后面想开了,Qt啥的都能干,这个月get了个北京大厂的offer,做java后端,人生就是这么魔幻,现在就在去北京入职的路上
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务