acd LCM Challenge(求1~n的随意三个数的最大公倍数)
Problem Description
Some days ago, I learned the concept of LCM (least common multiple). I've played with it for several times and I want to make a big number with it.
But I also don't want to use many numbers, so I'll choose three positive integers (they don't have to be distinct) which are not greater thann. Can you help me to find the maximum possible least common multiple of these three integers?
Input
The first line contains an integer n (1 ≤ n ≤ 10^6) — the n mentioned in the statement.
Output
Print a single integer — the maximum possible LCM of three not necessarily distinct positive integers that are not greater than n.
Sample Input
9
Sample Output
504
仅仅要这三个数中有两个数是奇数一个是偶数,最小公倍数就是这三个数的积。
#include<stdio.h> int main() { long long LCM,n; while(scanf("%lld",&n)>0) { if(n==1)LCM=1; if(n==2)LCM=2; if(n>2) { if(n%2)LCM=n*(n-1)*(n-2); else { if(n*(n-1)*(n-2)/2<n*(n-1)*(n-3)) LCM=n*(n-1)*(n-3); else LCM=n*(n-1)*(n-2)/2; } } printf("%lld\n",LCM); } }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步