• 算法训练 最大最小公倍数


    问题描述

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

    输入格式

    输入一个正整数N。

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

    1 <= N <= 106

    代码如下:

    #include<iostream>

    using namespace std;

    int main()

    {

       long long int n,beishu;

        cin>>n;                                       //输入n

      if(n<3)                                          //排除小于3的数,若小于等于3,则最小公倍数等于n

         eishu=n;

      else if(n%2!=0)                             //因为n%2!=0  则n为奇数,在0~n中,n,n-1,n-2,为两奇一偶,故在0~n中最大公倍数为n*(n-1)*(n-2)

          beishu=n*(n-1)*(n-2);

      else if(n%3!=0)                            //在此句中,n为偶数,三个数的最大公倍数不宜选择两偶一奇,故应为两奇一偶,为是最大公倍数最大,应该避免掉用n-2这个偶数,但是n若能被3整除,则n-3   也能被3 整除,故不可,所以应用n*(n-1)*(n-2)    例如:n=12,11,10,9,8

          beishu=(n-1)*(n-2)*(n-3);

      cout<<beihsu<<endl;

      return 0;

    }

  • 相关阅读:
    企业级 SpringBoot 教程 (九)springboot整合Redis
    03 网格系统
    02 表单
    01 排版
    客户端调用webSerices
    sql 一行转多行
    sql 多行转一行
    时间差计算 Stopwatch
    sql 游标
    Linq连接查询
  • 原文地址:https://www.cnblogs.com/zady123/p/6181019.html
Copyright © 2020-2023  润新知