ACdream1077:LCM Challenge

504题意:在n内找三个数,这三个数的最小公倍数,,是n里面任意三个数的最小公倍数最大的思路:这道题以前做过,但不记得在哪里了,思路就是找三个互质的数奇数的话,那么n,n-1,n-2必定互质,那么n*(n-1)*(n-3)便是最大的偶数的话,n-1是奇数,适用上面的式子,这是(n-1)*(n-2)*(n-3)要么就是n,n-1,n-3互质,这就是n*(n-1)*(n-3),只要比较两者谁更大就可以了#include <stdio.h>#include <math.h>#include <string.h>#include <algorithm>using namespace std;#define ll long longint main(){ll n,ans,i;while(~scanf("%lld",&n)){if(n == 1){printf("1\n");continue;}else if(n == 2){printf("2\n");continue;}else if(n == 3){printf("6\n");continue;}if(n%2)ans = n*(n-1)*(n-2);else{ans = (n-1)*(n-2)*(n-3);ans = max(ans,n*(n-1)*(n-3));}printf("%lld\n",ans);}return 0;}

有些人注定是等待别人的,有些人是注定被人等的。

ACdream1077:LCM Challenge

相关文章:

你感兴趣的文章:

标签云: