蓝桥杯java最小公倍数_蓝桥杯算法训练 最大最小公倍数
問題描述
已知一個正整數N,問從1~N中任選出三個數,他們的最小公倍數最大可以為多少。
輸入格式
輸入一個正整數N。
輸出格式
輸出一個整數,表示你找到的最小公倍數。
樣例輸入
9
樣例輸出
504
數據規模與約定
1 <= N <= 106。
代碼:
#include
using namespace std;
int gcd(int a, int b)
{
return b ? gcd(b, a % b) : a;
}
int lcm(int a, int b)
{
return a / gcd(a, b) * b;
}
bool is_prime(int n)
{
for(int i = 2; i * i <= n; i++)
if(n % i == 0)
return false;
return true;
}
int main()
{
long long ans, n;
while(cin >> n)
{
if(n <= 2) ans = n;
else if(n % 2 == 1) ans = n * (n - 1) * (n - 2);//奇-偶-奇,三個數中必定不存在公因數2,也必定不存在公因數3.
else//偶-奇-偶,必定存在公因數2,可能存在公因數3,
{
if(n % 3 == 0) ans = (n - 1) * (n - 2) * (n - 3);//存在公因數3,把這三個數依次減1.
else ans = n * (n - 1) * (n - 3);
}
cout << ans << endl;
}
return 0;
}
標簽:gcd,公倍數,樣例,long,藍橋,int,算法,ans
來源: https://blog.csdn.net/qq_44826711/article/details/113789661
總結
以上是生活随笔為你收集整理的蓝桥杯java最小公倍数_蓝桥杯算法训练 最大最小公倍数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 坦克世界闪击战百夫长Mk7&#4
- 下一篇: Java读取文件流用什么对象_使用Jav