思路:

n<=3,就是n.

考虑n>3:

我们可以轻松证明n,n-1这两个数互质:

设gcd(n,n-1)=g,n=g*k1,n-1=g*k2;

n-(n-1)=g(k1-k2)=1;

所以 g=1.

当n,n-2互质就更好了,n*(n-1)*(n-2)最大呀。

设gcd(n,n-2)=g,n=g*k1,n-2=g*k2;

n-(n-2)=g(k1-k2)=2; 得g<=2;

很好发现,g要么是1,要么是2,

so,很容易得出答案,n是奇数的时候 answer=n*(n-1)*(n-2);

考虑n%2==0,gcd(n,n-2)=2;

这时候考虑答案有几个呢???

我们知道n和n-2是偶数,n-1是奇数,n-3是奇数

first answer:n*(n-1)*(n-2)/2

那我说我有一个answer应该是比这个大:n*(n-1)*(n-3)

证:(n-3)>=(n-2)/2   n>=4  满足

但是不一定成立吧?

n-3和n-1一定互质?什么时候n和n-3互质呢?

同上我们很容易知道,gcd(n,n-3)<=3,1有,2不可能(n-3是奇数啊),所以只有3了

n%3!=0的时候,那就互质了。

那么如果不互质了呢?

second answer:n*(n-1)*(n-3)/3

还有一个答案:(n-1)*(n-2)*(n-3) 这个数一定比 n*(n-1)*(n-3)/3 这个大的情况很好说明 且 明显小于n*(n-1)*(n-3)也很好说明:

即证明(n-2)>=n/3    =>   2*n>=6   => n>=3,而这边考虑的都是n>3,所以一定满足;

而且这三个数都是两两互质。

so code:

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
int main()
{
LL n;
scanf("%lld",&n);
if(n<=3)
printf("%lld\n",n);
else if(n%2==1)
{
printf("%lld\n",n*(n-1)*(n-2));
}
else if(n%3!=0)
{
printf("%lld\n",n*(n-1)*(n-3));
}
else
{
printf("%lld\n",(n-1)*(n-2)*(n-3));
}
return 0;
}

51nod1419 【数学】的更多相关文章

  1. 数学思想:为何我们把 x²读作x平方

    要弄清楚这个问题,我们得先认识一个人.古希腊大数学家 欧多克索斯,其在整个古代仅次于阿基米德,是一位天文学家.医生.几何学家.立法家和地理学家. 为何我们把 x²读作x平方呢? 古希腊时代,越来越多的 ...

  2. 速算1/Sqrt(x)背后的数学原理

    概述 平方根倒数速算法,是用于快速计算1/Sqrt(x)的值的一种算法,在这里x需取符合IEEE 754标准格式的32位正浮点数.让我们先来看这段代码: float Q_rsqrt( float nu ...

  3. MarkDown+LaTex 数学内容编辑样例收集

    $\color{green}{MarkDown+LaTex 数学内容编辑样例收集}$ 1.大小标题的居中,大小,颜色 [例1] $\color{Blue}{一元二次方程根的分布}$ $\color{R ...

  4. 深度学习笔记——PCA原理与数学推倒详解

    PCA目的:这里举个例子,如果假设我有m个点,{x(1),...,x(m)},那么我要将它们存在我的内存中,或者要对着m个点进行一次机器学习,但是这m个点的维度太大了,如果要进行机器学习的话参数太多, ...

  5. Sql Server函数全解<二>数学函数

    阅读目录 1.绝对值函数ABS(x)和返回圆周率的函数PI() 2.平方根函数SQRT(x) 3.获取随机函数的函数RAND()和RAND(x) 4.四舍五入函数ROUND(x,y) 5.符号函数SI ...

  6. *HDU 2451 数学

    Simple Addition Expression Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Ja ...

  7. 如何解决Maple的应用在数学中

    对任意数学和技术学科的研究员.教师和学生而言,Maple是一个必备的工具.通过Maple,教师将复杂数学问题注入生命,学生的精力集中在概念理解上而不是如何使用工具上,研究员可以开发更复杂的算法或模型. ...

  8. 如何让Maple中的数学引擎进入你的桌面应用程序和网站

    MapleNET数学服务套件将Maple 2015强大的数学引擎引入您的应用程序和网站.使用MapleNET,您可以添加数学计算和可视化功能到网页和桌面程序中,通过互联网/局域网分享“活”的Maple ...

  9. 【原创】开源Math.NET基础数学类库使用(07)常用的数学物理常数

                   本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新  开源Math.NET基础数学类库使用总目录:[目录]开源Math.NET基础数学类库使用总目录 1.前 ...

随机推荐

  1. Raft 为什么是更易理解的分布式一致性算法——(1)Leader在时,由Leader向Follower同步日志 (2)Leader挂掉了,选一个新Leader,Leader选举算法。

    转自:http://www.cnblogs.com/mindwind/p/5231986.html Raft 协议的易理解性描述 虽然 Raft 的论文比 Paxos 简单版论文还容易读了,但论文依然 ...

  2. hbase_异常_02_hbase无法访问16010端口

    一.异常现象 上一个异常解决了之后,已经能正常启动hbase了,也能正常使用hbase shell  ,但是无法通过浏览器访问 16010端口. 二.异常原因 1.原因一 hbase 1.0 以后的版 ...

  3. png8 png24 png32

    解释 PNG8 : 8位的PNG最多支持256(2的8次方)种颜色,8位的PNG支持不透明.索引透明.alpha透明. PNG24 : 支持2的24次方种颜色,表现为不透明.PS导出PNG24是会根据 ...

  4. Struts2 - 通过实现 Aware 接口访问 Web 资源

    Action 类通过可以实现某些特定的接口, 让 Struts2 框架在运行时向 Action 实例注入 parameters, request, session 和 application 对应的 ...

  5. 【leetcode刷题笔记】Pow(x, n)

    Implement pow(x, n). 题解:注意两点: 普通的递归把n降为n-1会超时,要用二分的方法,每次把xn = x[n/2] * x[n/2] * xn-[n/2]*2, [n/2]表示n ...

  6. ACM学习历程—HDU 5451 Best Solver(Fibonacci数列 && 快速幂)(2015沈阳网赛1002题)

    Problem Description The so-called best problem solver can easily solve this problem, with his/her ch ...

  7. codevs1020 孪生蜘蛛

    1020 孪生蜘蛛   题目描述 Description 在G城保卫战中,超级孪生蜘蛛Phantom001和Phantom002作为第三层防卫被派往守护内城南端一带极为隐秘的通道. 根据防护中心的消息 ...

  8. vue-router路由嵌套的使用

    vue-router路由嵌套的使用,以及子路由中设置默认路由: 项目结构: 在/src/App.vue文件中: <template> <div id="app"& ...

  9. javascript之原型prototype

    理解JavaScript原型 http://blog.jobbole.com/9648/ Web程序员应该知道的Javascript prototype原理 http://www.leonzhang. ...

  10. 洛谷 1351 联合权值——树形dp

    题目:https://www.luogu.org/problemnew/show/P1351 对拍了一下,才发现自己漏掉了那种拐弯的情况. #include<iostream> #incl ...