zoukankan      html  css  js  c++  java
  • 51nod 1419 最小公倍数挑战

    【题解】  

      我们可以很快发现当n是奇数的时候答案就是n*(n-1)*(n-2),因为这三个数一定两两互质,因为它们中只有n-1是2的倍数,而其它数的倍数的周期都比3长,所以也不可能有别的大于2的公因数。当n是偶数的时候怎么办呢?当n不是3的倍数的时候答案是n*(n-1)*(n-3),这里避开(n-2)是因为它与n有公因数2使得公倍数较小,而n,n-1,n-3三个数一定互质且乘积最大。当n是3的倍数的时候答案是(n-1)*(n-2)*(n-3),因为当n%3=0时n与n-3有公因数3,我们要避开n与(n-2),以及n与(n-3).

     1 #include<cstdio>
     2 #include<cstring>
     3 #include<algorithm>
     4 #define N 200010
     5 #define rg register
     6 #define LL unsigned long long 
     7 using namespace std;
     8 int n;
     9 inline int read(){
    10     int k=0,f=1; char c=getchar();
    11     while(c<'0'||c>'9')c=='-'&&(f=-1),c=getchar();
    12     while('0'<=c&&c<='9')k=k*10+c-'0',c=getchar();
    13     return k*f;
    14 }
    15 int main(){
    16     n=read();
    17     if(n<=2) printf("%d
    ",max(0,n));
    18     else{
    19         if(n&1) printf("%lld
    ",1ll*n*(n-1)*(n-2));
    20         else
    21             if(n%3) printf("%lld
    ",1ll*n*(n-1)*(n-3));
    22             else printf("%lld
    ",1ll*(n-1)*(n-2)*(n-3));
    23     }
    24     return 0;
    25 }
    View Code
  • 相关阅读:
    三种方法使HTML单页面输入密码才能访问
    JAVA知识汇总
    session 一致性的解决方案
    Debian 9 Stretch国内常用镜像源
    Java开发工具推荐
    Centos配置vsftpd
    [转]php实时输出内容
    php javascript comet
    使用安装 php-memcache-client
    [转]网页实时聊天之js和jQuery实现ajax长轮询 PHP
  • 原文地址:https://www.cnblogs.com/DriverLao/p/9600252.html
Copyright © 2011-2022 走看看