蓝桥杯 Python 练习题 最大最小公倍数

试题 算法训练 最大最小公倍数

提交此题   评测记录  

资源限制

时间限制:1.0s   内存限制:256.0MB

问题描述

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

输入格式

输入一个正整数N。

输出格式

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

样例输入

9

样例输出

504

数据规模与约定

1 <= N <= 10的6次方。


n=int(input())
if(n%3==0):
    n-=1
if(n%2==0):
    res=n*(n-1)*(n-3)
else:
    res=n*(n-1)*(n-2)
print(res)

有一个测试点过不了,奇奇怪怪


思路是这篇文章的

最大最小公倍数——《蓝桥杯刷题之路》_故事的大大仙的博客-CSDN博客icon-default.png?t=M0H8https://blog.csdn.net/qq_45116009/article/details/108471648?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-1.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-1.pc_relevant_default&utm_relevant_index=2看了之后格局一下子就打开了,本来想所有排列算一遍的

但是一看数据规模,再照我的思路那必超时啊,这时候这篇文章拯救了我哈哈哈

#想了挺久的不舍得删,先留一留,留一留
'''
#n=int(input())
a=7
b=83
mul=a*b
memory1=[]
memory2=[]

#排列,顺序的,元素重复不要

#提取前两个数算最小公倍数,再用前两个算出来的最小公倍数跟第三数算
def gcd(a,b):# 两个数的乘积等于这两个数的最大公约数与最小公倍数的乘积
    global c=1,memory1,memory2
    memory1.append([a,b])
    while c!=0:
        c=a%b
        a=b
        b=c
        memory2.append(a)
    print(a,mul/a)
#这里可以使用自带的库math.gcd(),需要加头文件import math

if(ab in memory1):#判断a,b是否出现在memory1中,如果不在就执行gcd
    memory1.index(ab)
    
else:
    gcd(a,b)
'''

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值