思路:

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. Centos安装SZRZ方便文件传输

    方便Centos服务器传输文件, 要用到szrz命令, 具体安装如下: # wget  http://freeware.sgi.com/source/rzsz/rzsz-3.48.tar.gz# ta ...

  2. UI层自动化测试介绍

    UI指的是用户可以用肉眼可以看到的页面. UI层自动化测试的原理.不论是web端还是移动端,原理都是一样的,就是基于页面元素的识别和定位来进行模拟用户行为. 首先识别到某个元素,比如一个按钮,然后定义 ...

  3. 用React写一个工大导航

    Online: https://brenner8023.github.io/gdut-nav/ GitHub地址: https://github.com/brenner8023/gdut-nav 笔者 ...

  4. AngularJS-Basic(一)

    MVC:作为DataModel的$scope 依赖注入DI 模块化Module Service Filter Two way DateBinding Directive Unit Testing&am ...

  5. 【IPC通信】key_t键和ftok函数

    System V IPC分为三种: System V消息队列 System V信号量 System V共享内存区 这三种类型的IPC使用key_t值做为它们的名字. key_t这个数据类型在<s ...

  6. python实现redis三种cas事务操作

    cas全称是compare and set,是一种典型的事务操作. 简单的说,事务就是为了存取数据库中同一数据时不破坏操作的隔离性和原子性,从而保证数据的一致性. 一般数据库,比如MySql是如何保证 ...

  7. 使用 Anthem.NET 框架的一个调试经历

    简介:Anthem 是一个很好用的 Ajax 框架,支持 ASP.NET 1.1, 2.0.由于该框架的所有控件都继承自 ASP.NET 自身的服务器控件,保留了几乎所有这些控件的属性和行为(除了把它 ...

  8. 浏览器全屏的JS代码实现

    方法一:该方法是从一个网上的效果看到不错,然后自己就拿来下来实验了一下,还是比较满意度,下面直接给出代码 <!DOCTYPE HTML> <html lang="en-US ...

  9. OIer应该知道的二进制知识

    计算机使用\(2\)进制,这是众所周知的.在学习\(OI\)的过程中,\(2\)进制也显得尤为重要.有时候,细节决定成败,所以我想总结一下容易被遗忘和误解的关于\(2\)进制的知识. 1.运算符 &a ...

  10. CF 1036B Diagonal Walking v.2——思路

    题目:http://codeforces.com/contest/1036/problem/B 比赛时只能想出不合法的情况还有走到终点附近的方式. 设n<m,不合法就是m<k.走到终点方式 ...