zoukankan      html  css  js  c++  java
  • 算法训练 最大最小公倍数

      算法训练 最大最小公倍数  
    时间限制:1.0s   内存限制:256.0MB
    问题描述

    已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少。

    输入格式

    输入一个正整数N。

    输出格式
    输出一个整数,表示你找到的最小公倍数。
    样例输入
    9
    样例输出
    504
    数据规模与约定

    1 <= N <= 106。

    找出最大的最小公倍数。

    首先根据数据看肯定是不行的,

    然后就贪心啦,先分析,相邻的两个数互质,如果最大的是奇数,那么就直接可以N×(N-1)×(N-2),

    不然就是为偶数的时候了,

    当为偶数时, 就没那么简单了,要分析一下,

    反正(N-2)也一定是偶数,所以选下一个(N-3),但是如果N可以被3整除就不行了,那样的话,

    就要选则(N-1)×(N-2)×(N-3).

    #include <iostream>
    #define ll long long int
    // #include <cctype>
    using namespace std;
    
    ll n,sum;
    
    int main(){
        cin>>n;
        if(n<=2){
            sum =n;
        }else if(n%2){
            sum = n*(n-1)*(n-2);
        }else{
            if(n%3==0){
                sum = (n-1)*(n-2)*(n-3);
            }else{
                sum = n*(n-1)*(n-3);
            }
        }
        cout<<sum<<endl;
        return 0;
    }
  • 相关阅读:
    其它运算符
    位运算符
    赋值运算符
    逻辑运算符
    关系运算符
    理解twisted中的reactor和deferred(一)
    修改 Django Administration
    celery 调用scrapy
    flower 时区设置
    Python 过滤HTML实体符号简易方法
  • 原文地址:https://www.cnblogs.com/zllwxm123/p/8661671.html
Copyright © 2011-2022 走看看