本篇是 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 数环初探的更多相关文章

  1. WPF中自定义的DataTemplate中的控件,在Window_Loaded事件中加载机制初探

    原文:WPF中自定义的DataTemplate中的控件,在Window_Loaded事件中加载机制初探         最近因为项目需要,开始学习如何使用WPF开发桌面程序.使用WPF一段时间之后,感 ...

  2. Java中的多线程操作初探

    问题引出: 说是java,其实还是在做android的时候遇到的问题,在android 4.0以后,访问网络必须在新线程中实现,所以才会遇到这个问题.只是为了方面说明问题,才新建一个java项目.在m ...

  3. Docker在云环境中的应用实践初探:优势、局限性与效能评测

    作者 商之狄 发布于 2014年11月10日 本文依据笔者所在团队的一些近期开发和应用的实践,整理出一些有意义的信息,拿出来和社区分享.其中既包括在云端应用Docker与相关技术的讨论,同时也有实施过 ...

  4. cocos2dx 3.2中的物理引擎初探(一)

    cocos2dx在设计之初就集成了两套物理引擎,它们是box2d和chipmunk.我目前使用的是最新版的cocos2dx 3.2.引擎中默认使用的是chipmunk,如果想要改使用box2d的话,需 ...

  5. Java中自动装箱代码初探

    <深入理解Java虚拟机>中讲语法糖时,提到了下面这个例子(不是原文中的例子,我自己改过): public class AutoBoxingTest { /** * @param args ...

  6. EntityFramework 中的链接研究初探

    很多人用EF的默认链接工厂:System.Data.Entity.Infrastructure.LocalDbConnectionFactory 然后我一开始就不习惯,然后研究了一下,截图如下 然后就 ...

  7. Android中的MVP架构初探

    说来羞愧,MVP的架构模式已经在Android领域出现一两年了.可是到今天自己才開始Android领域中的MVP架构征程. 闲话不多说,開始吧. 一.架构演变概述 我记得我找第一份工作时,面试官问我& ...

  8. ifix中嵌入3d模型初探(一)

    在ifix项目中插入3d模型,是当前工控上位机的一个发展趋势,故而我也来尝尝鲜.利用现有条件,初步打算完成一个工厂俯视3d全景. 基本思路:利用webbrowser+3dmax+three.js来嵌入 ...

  9. IDEA中Maven的使用初探

    Maven Maven官网:https://maven.apache.org/ Apache Maven 是一个软件项目管理和理解工具.基于项目对象模型 (POM) 的概念,Maven 可以从一条中央 ...

随机推荐

  1. [CEOI2002]Bugs Integrated, Inc. 题解

    又是一道神仙题,又是题解看不懂-- 好时代,来临力-- 时隔一个世纪来补题解了-- 之前太垃圾了,脑子有点问题,所以没看懂题解.今天再看这道题虽然还是很毒瘤,但也没有想象得那么难. 先观察芯片的形状, ...

  2. 第十五篇 -- QListWidget与QToolButton(界面)

    效果图: 这还只是一个界面,并没有实现相应功能. 先看下这图的构成吧. 工具栏的就是将Action拖上去,这部分前面已经介绍过了,那就看下面这部分的构图. 1.左侧是一个工具箱(ToolBox)组件, ...

  3. js学习笔记之日期倒计时(天,时,分,秒)

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  4. 【LeetCode】133. 克隆图

    133. 克隆图 知识点:图:递归;BFS 题目描述 给你无向 连通 图中一个节点的引用,请你返回该图的 深拷贝(克隆). 图中的每个节点都包含它的值 val(int) 和其邻居的列表(list[No ...

  5. 用QT写的简单Todo记事本-附源码(浮动窗口)

    去年边学边写了搞了很久, 已经好久没继续开发了, 先放出来供大家参考吧. 发现自己的学习能力还是不错的. 技术点: 使用QT, QML技术 代码参考: https://github.com/cnscu ...

  6. 并发编程——Java线程的6种状态及切换

    前言 本次主要分享一下Java线程的六种状态及其转换. 如果对于线程的创建方式不太了解,推荐观看并发编程--认识java里的线程 线程的状态及其转换 操作系统线程的五种状态 新建(NEW) 就绪(RU ...

  7. Android无障碍宝典-talkback

    http://geek.csdn.net/news/detail/93269 http://geek.csdn.net/news/detail/135867

  8. Linux从头学06:16张结构图,彻底理解【代码重定位】的底层原理

    作 者:道哥,10+年的嵌入式开发老兵. 公众号:[IOT物联网小镇],专注于:C/C++.Linux操作系统.应用程序设计.物联网.单片机和嵌入式开发等领域. 公众号回复[书籍],获取 Linux. ...

  9. 化学专业大二转战Android开发,终于拥有了鹅厂暑期实习offer

    我是双非学校,应用化学专业,一年前我大二,现在我大三.一年前我两手空空,现在我拥有了鹅厂暑期实习的offer. 虽然结果是好的,但我春招实习的道路远没有这么简单和辉煌,它是无比坎坷的:每个人应该量力而 ...

  10. STM32启动文件详解及SystemInit函数分析(转)

    ;先在RAM中分配系统使用的栈,RAM的起始地址为0x2000_0000 ;然后在RAM中分配变量使用的堆 ;然后在CODE区(flash)分配中断向量表,flash的起始地址为0x0800_0000 ...