n, n+1, ..., 2n 中的 5 数环初探
本篇是 IMO 2021 第一题题解及相关拓展问题分析 和 IMO 2021 第 1 题拓展问题的两个极值的编程求解 的延伸篇。
从上两篇的分析,可知:
当 n < 48 时,n, n+1, ..., 2n 中没有奇数环;当 n ≥ 99 时,n, n+1, ..., 2n 中有 3 数环。
而当 48 ≤ n ≤ 98 时,n, n+1, ..., 2n 中,根据 n 取值的不同,存在没有奇数环的情形,也存在有奇数环的情形。并在有奇数环的情形中,大多数都存在 3 数环,只有 3 个例外情形,即:
(1). n = 49,n, n+1, ..., 2n 中无 3 数环,但有 5 数环:49, 51, 70, 74, 95;
(2). n = 71,n, n+1, ..., 2n 中无 3 数环,但有 5 数环:71, 73, 96, 100, 125;
(3). n = 97,n, n+1, ..., 2n 中无 3 数环,但有 5 数环:97, 99, 126, 130, 159。
对比这 3 个例外情形,可以发现它们有一些有意思的共同特征:
I. 三者的最小奇数环都是 5 数环,且构成 5 数环的 5 个数都可以按从小到大的顺序排列;
II. 三者的 5 数环中最小的两个数都是奇数,且两数的差都为 2;
III. 三者的 5 数环中大小居中的数以及更大的那个数都是偶数,且两数的差都为 4;
IV. 三者的 5 数环中最大的数都是奇数;
V. 三者的 5 数环中最小的数就等于 n。
把 5 数环中的 5 个数按从小到大分别记为 a, b, c, d, e,构建的 5 个完全平方数分别为 a+b, b+c, c+d, d+e, e+a。n = 49 时,对应的 5 数环构建的 5 个完全平方数为 49+51=100,51+70=121,70+74=144,74+95=169,95+49=144,亦即 102,112,122,132,122。
同样可得:
n = 71 时,对应的 5 数环构建的 5 个完全平方数为 122,132,142,152,142。
n = 97 时,对应的 5 数环构建的 5 个完全平方数为 142,152,162,172,162。
对比发现,3 组完全平方数都呈现出 (2m-2)2,(2m-1)2,(2m)2,(2m+1)2,(2m)2 的形态,于是有
a + b = 4m2 - 8m + 4 ①
b + c = 4m2 - 4m + 1 ②
c + d = 4m2 ③
d + e = 4m2 + 4m + 1 ④
e + a = 4m2 ⑤
由 ② - ① 有 c - a = 4m - 3,由 ③ + ⑤ - ④ 有 c + a = 4m2 - 4m - 1
进而可得:
a = 2m2 - 4m + 1, b = 2m2 - 4m + 3, c = 2m2 - 2, d = 2m2 + 2, e = 2m2 + 4m - 1
上面 3 个 5 数环分别对应 m = 6, 7, 8 的情形。
考察一下 m = 5 的情形,a = 50 - 20 + 1 = 31,b = 33,c = 48,d = 52,e = 69,即 (31, 33, 48, 52, 69) 构成一个 5 数环,但由于 31·2 = 62 < 69,可知 n = 31 时,n, n+1, ..., 2n 中并不存在这个 5 数环。m = 2,3,4 的情形有同样的结论。
再考察一下 m = 9 的情形,a = 162 - 36 + 1 = 127,b = 129,c = 160,d = 164,e = 197,即 (127, 129, 160, 164, 197) 构成一个 5 数环,而且 127·2 = 254 > 99·2 = 198 > 197,说明当 99 ≤ n ≤ 127 时,n, n+1, ..., 2n 中存在这个 5 数环,但由前面的分析已知 n ≥ 99 时,n, n+1, ..., 2n 中还存在阶数更小的奇数环(即 3 数环)。m > 9 的情形有同样的结论。
n, n+1, ..., 2n 中的 5 数环初探的更多相关文章
- WPF中自定义的DataTemplate中的控件,在Window_Loaded事件中加载机制初探
原文:WPF中自定义的DataTemplate中的控件,在Window_Loaded事件中加载机制初探 最近因为项目需要,开始学习如何使用WPF开发桌面程序.使用WPF一段时间之后,感 ...
- Java中的多线程操作初探
问题引出: 说是java,其实还是在做android的时候遇到的问题,在android 4.0以后,访问网络必须在新线程中实现,所以才会遇到这个问题.只是为了方面说明问题,才新建一个java项目.在m ...
- Docker在云环境中的应用实践初探:优势、局限性与效能评测
作者 商之狄 发布于 2014年11月10日 本文依据笔者所在团队的一些近期开发和应用的实践,整理出一些有意义的信息,拿出来和社区分享.其中既包括在云端应用Docker与相关技术的讨论,同时也有实施过 ...
- cocos2dx 3.2中的物理引擎初探(一)
cocos2dx在设计之初就集成了两套物理引擎,它们是box2d和chipmunk.我目前使用的是最新版的cocos2dx 3.2.引擎中默认使用的是chipmunk,如果想要改使用box2d的话,需 ...
- Java中自动装箱代码初探
<深入理解Java虚拟机>中讲语法糖时,提到了下面这个例子(不是原文中的例子,我自己改过): public class AutoBoxingTest { /** * @param args ...
- EntityFramework 中的链接研究初探
很多人用EF的默认链接工厂:System.Data.Entity.Infrastructure.LocalDbConnectionFactory 然后我一开始就不习惯,然后研究了一下,截图如下 然后就 ...
- Android中的MVP架构初探
说来羞愧,MVP的架构模式已经在Android领域出现一两年了.可是到今天自己才開始Android领域中的MVP架构征程. 闲话不多说,開始吧. 一.架构演变概述 我记得我找第一份工作时,面试官问我& ...
- ifix中嵌入3d模型初探(一)
在ifix项目中插入3d模型,是当前工控上位机的一个发展趋势,故而我也来尝尝鲜.利用现有条件,初步打算完成一个工厂俯视3d全景. 基本思路:利用webbrowser+3dmax+three.js来嵌入 ...
- IDEA中Maven的使用初探
Maven Maven官网:https://maven.apache.org/ Apache Maven 是一个软件项目管理和理解工具.基于项目对象模型 (POM) 的概念,Maven 可以从一条中央 ...
随机推荐
- P2476-记忆化搜索
链接 DP? 我们看看,这个状态似乎有亿点点多. 我们看看数据范围,数量不超过5,颜色数不超过15. 15维DP显然不靠谱. 那么我们就思考一下--个数? 记忆化搜索可ac: #include< ...
- WEB安全新玩法 [9] 重置密码之验证流程防绕过
一般来说,业务流程中出现多个操作环节时,是需要顺序完成的.程序设计者往往按照正常用户的操作顺序实现功能,而忽略了攻击者能够绕过中途环节,直接在后续环节上进行非法操作.iFlow 业务安全加固平台能够在 ...
- python里的StringIO
Python2中StringIO调用方法如下: import StringIO iost = StringIO.StringIO() Python3中已将StringIO归入io,调用方法如下: im ...
- Odoo开发规范
本文来源:https://www.jianshu.com/p/e892bf01f036 Odoo开发规范 模块结构 文件夹列表及对应作用 data/:演示和数据文件 models/:模型定义 cont ...
- [Vue warn]: Invalid prop: type check failed for prop "percentage". Expected Number, got Null
Vue组件报错 <ElProgress> at packages/progress/src/progress.vue 用了element组件 绑定数据时后端给我们传的参数为null,所以组 ...
- 通过cmake在Android中调用c语言,且三方应用通过so库调用c语言
1. 新建JniUtils类实现native方法 2. 在build中执行clean project 再rebuild project 生成class文件. 注意:最新版本的AndroidStud ...
- python grequest模块使用备忘录
手里上有一批链接,需要检查他们是否已经被删除.本来是想用多线程的,但是考虑了下一个是实现起来稍繁琐.而且性能不理想,单机基本超过10线程基本上就没有太多增益了. 所以考虑了下,还是决定用异步IO. 在 ...
- pwnable.kr之simple Login
pwnable.kr之simple Login 懒了几天,一边看malloc.c的源码,一边看华庭的PDF.今天佛系做题,到pwnable.kr上打开了simple Login这道题,但是这道题个人觉 ...
- Java数组07——稀疏数组
稀疏数组 总结: 记录有效的坐标: 记录原始做表的大小和有效值的个数 记录每一个有效值的坐标 ,变成一个新的数组 age: package array; public class ArrayDe ...
- RHCE_DAY05
cron周期性计划任务 cron周期性计划任务用来定期执行程序,目前最主要的用途是定期备份数据 软件包名:cronie.crontabs 服务名:crond 日志文件:/var/log/cron cr ...