问题描述
已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少。
输入格式
输入一个正整数N。
输出格式
输出一个整数,表示你找到的最小公倍数。
样例输入
9
样例输出
504
数据规模与约定
1 <= N <= 106。
分析:
贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。
贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态有关。
以上是百度百科对于贪心算法的解释,其实就是寻找局部最优解,我们看到题目,我们给出的n无非就两种情况:奇数或者偶数。
while True:
try:
n = int(input())
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))
except:
break
编程小白记录成长