題目要求
已知一個正整數(shù)N怕篷,問從1~N中任選出三個數(shù),他們的最小公倍數(shù)最大可以為多少巩梢。
需要理解的性質
- 1和任意大于1的自然數(shù)都互質
- 2和任意奇數(shù)都互質
- 相鄰的兩個自然數(shù)互質
- 相鄰的兩個奇數(shù)互質
- 不相同的兩個質數(shù)互質
- 一個數(shù)是合數(shù)德迹,另一個是質數(shù),除合數(shù)是質數(shù)的倍數(shù)外双吆,一般都是互質的,例:34和7
所以
n為奇數(shù)
ans = n * (n-1) * (n-2);n為偶數(shù)
1? n%3 != 0時 ans = n(n-1)(n-3);
2? n%3 == 0時 ans = (n-1)(n-2)(n-3);
#include <stdio.h>
#include <iostream>
#include <cmath>
#include <string>
#include <algorithm>
using namespace std;
typedef long long ll;
int main(){
int n;
cin>>n;
ll ans;
if(n % 2)
ans = (ll)n*(n-1)*(n-2);
else if(n % 3 == 0)
ans = (ll)(n-1)*(n-2)*(n-3);
else
ans = (ll)n*(n-1)*(n-3);
cout<<ans<<endl;
return 0;
}
(留下了數(shù)學成績不好的眼淚……