本篇是 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. Android开发在Activity外申请权限调用相机打开相册

    问题描述: 最近在项目中遇到一个需要调用相册和打开相机的需求,但是,在Android 6.0以后,调用相册属于危险权限,需要开发者动态获取,这就意味着我们申请权限是与Activity绑定的,但如果一个 ...

  2. fiddler各种颜色锁说明

  3. Spring源码阅读-BeanFactory体系结构分析

    BeanFactory是Spring中非常重要的一个类,搞懂了它,你就知道了bean的初始化和摧毁过程,对于深入理解IOC有很大的帮助. BeanFactory体系结构 首先看一下使用IDEA生成的继 ...

  4. 移动端 CPU 的深度学习模型推理性能优化——NCHW44 和 Record 原理方法详解

    用户实践系列,将收录 MegEngine 用户在框架实践过程中的心得体会文章,希望能够帮助有同样使用场景的小伙伴,更好地了解和使用 MegEngine ~ 作者:王雷 | 旷视科技 研发工程师 背景 ...

  5. nvcatmysql安装注册流程以及远程登陆配置步骤

    前言:网络上下载工具良莠不齐,找到合适的比较困难.因为nvcat回收了网络上的大部分注册码,这个nvcatformysql下载到可以破解的费了点时间,最后经过配置成功远程登陆到mysql,在此记录一下 ...

  6. STM32—重定向printf和getchar函数到串口

    在STM32测试串口的时候经常需要在开发板和上位机之间传输数据,我们可以用c语言中的printf()函数和getchar()函数来简化传输. 以printf()为例: printf()函数实际上是一个 ...

  7. SpringBoot快速入门(一)

    本文内容 SpringBoot概述 SpringBoot快速入门 SpringBoot起步依赖原理分析 SpringBoot配置 SpringBoot整合其他框架 1.SpringBoot概述 1.1 ...

  8. SSM自学笔记(二)

    3.SpringMVC入门 1.Spring与Web环境集成 1.1 ApplicationContext应用上下文获取方式 应用上下文对象是通过new ClasspathXmlApplication ...

  9. 阿里云视频点播获取视频点播的video信息

    背景 因为在项目中需要使用阿里云的视频点播服务,需要获取视频点播的时长信息. 工具类 生成签名串Signature SignatureUtils.java package com.meeno.wzq. ...

  10. .net core 微服务参考文章

    网址: https://www.cnblogs.com/edisonchou/p/9124985.html Tip: 此篇已加入.NET Core微服务基础系列文章索引 一.Consul基础介绍 Co ...