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 可以从一条中央 ...
随机推荐
- 扩展欧几里得(exgcd)-求解不定方程/求逆元
贝祖定理:即如果a.b是整数,那么一定存在整数x.y使得ax+by=gcd(a,b).换句话说,如果ax+by=m有解,那么m一定是gcd(a,b)的若干倍.(可以来判断一个这样的式子有没有解)有一个 ...
- 【动态规划】合唱队形 luogu-
分析 做两遍最长上升子序列,在遍历一下,取最大值. AC代码 #include <bits/stdc++.h> using namespace std; #define ms(a,b) m ...
- Vulnhub -- Jarbas靶机渗透
目标:拿到服务器的Shell 信息收集 配置好后用nmap扫描 kali's ip:192.168.241.131 nmap -sP 192.168.241.131/24 一个个扫描 发现192.16 ...
- Python自动化测试面试题-Redis篇
目录 Python自动化测试面试题-经验篇 Python自动化测试面试题-用例设计篇 Python自动化测试面试题-Linux篇 Python自动化测试面试题-MySQL篇 Python自动化测试面试 ...
- redis故障时的一些概念
1.缓存穿透 概念访问一个不存在的key,缓存不起作用,请求会穿透到DB,流量大时DB会挂掉. 解决方案采用布隆过滤器,使用一个足够大的bitmap,用于存储可能访问的key,不存在的key直接被过滤 ...
- 重返MySQL之MySQL基础
重返MySQL之MySQL基础 本章详细介绍了,什么是数据库,常见的关系型数据库有哪些,什么是MySQL,及MySQL中DDL操作表,DML操作表记录. 1.0 数据库概述 1.1 数据存储的方式 目 ...
- Java基础(一):I/O多路复用模型及Linux中的应用
IO多路复用模型广泛的应用于各种高并发的中间件中,那么区别于其他模式他的优势是什么.其核心设计思想又是什么.其在Linux中是如何实现的? I/O模型 I/O模型主要有以下五种: 同步阻塞I/O:I/ ...
- 剑指 Offer 39. 数组中出现次数超过一半的数字
剑指 Offer 39. 数组中出现次数超过一半的数字 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字. 你可以假设数组是非空的,并且给定的数组总是存在多数元素. 示例 1: 输入: [ ...
- HTML5(十一)——WebSocket 基础教程
一.为什么要学 WebSocket? websocket 是 HTML5 提供的一种长链接双向通讯协议,使得客户端和服务器之间的数据交换更简单,允许服务端主动向客户端推送数据,并且客户端与服务端只需连 ...
- Devcpp(Dev-C++)代码编辑的快捷键
转自:https://blog.csdn.net/u010940020/article/details/43735549 这里记录一些个人使用Devcpp时,摸索出来的代码编辑快捷键,感觉非常有用.如 ...