• Java证明尼科梅彻斯定理


    定理内容

    任何一个整数的立方都可以写成一串相邻奇数之和(因为如果不是一串相邻的奇数,这个奇数组合可能会有多个),这就是著名的尼科梅彻斯定理。

    数学方法证明

    证明之前,我们先看连续p个奇数的和有什么特点:

    1. 假设p为偶数,这些连续p个奇数中间两项的数为2k-1,2k+1 ,则这组数的平均数定是2k,总和为2k*p , 如果p2=2k,那么和为p3
    2. 假设p为奇数,这些连续p个奇数中间一项的数为2k+1 ,则这组数的平均数定是2k+1,总和为(2k+1)p, 如果p2=2k+1,那么和为p3
      我们再看 ,n^3 等于 n
      n^2 ,即 n个n^2的和。
    3. 假设n为偶数,把n2定为一串连续奇数的中间两项的平均数,写出这中间两项,分别为n2-1 ,和n^2+1 ,如果向这两个奇数的两边分别排(n-2)/2项连续的奇数,则加上中间那两项,这组奇数总共(n-2)/22+2=n项,这组连续奇数的总和为nn2=n3,得证(可参照上面的偶数项连续奇数的特点)
      比如4^3=13+15+17+19
      43可以看成4*42=4*16,把16定成一串奇数的中间两项数的平均数,则中间两项分别是15,17 ,然后只需向这两个数的两旁排上剩余(4-2=2)项连续的奇数13和19即可。
    4. 假设n为奇数,则n2必是奇数,把n2定为一串连续奇数的中间一项奇数,如果向这个奇数的两边分别排(n-1)/2项连续的奇数,则加上中间那两项,这组奇数总共(n-1)/22+1=n项,这组连续奇数的总和为nn2=n3,得证(可参照上面的奇数项连续奇数的特点)
      比如5^3=21+23+25+27+29
      53可以看成5*52=5*25,把25定成一串奇数的中间一项奇数,然后只需向这个数的两旁排上剩余(5-1=4)项连续的奇数21,23,和27,29即可。
      到此尼科梅彻斯定理得证。

    Java方法证明

    import java.util.Scanner;
    
    public class nikemeichesi {
        public static String GetSequeOddNum(int m) {
            int d = (int) Math.pow(m, 2) - m + 1;
            System.out.print(new String(String.valueOf(d)));
            for (int i = 1; i < m; i++) {
                d = d + 2;
                System.out.print("+" + new String(String.valueOf(d)));
            }
            return null;
        }
        public static void main(String[] args) {
            Scanner in = new Scanner(System.in);
            int m = in.nextInt();
            if (m >= 0 || m <= 100) {
                GetSequeOddNum(m);
            } else {
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
  • 相关阅读:
    一遍关于vue基础语法上篇
    nSum问题解题套路4.5-4.6
    代码中大量的套娃式ifelse优化方案
    搭建Docker私有镜像仓库
    娄底疾控中心实验室设计理念说明
    ARM 汇编写启动代码之设置栈和调用C语言
    这种问题该怎么处理?
    Linux新版内核升级后问题
    mybatis源码探索之代理封装阶段
    【Linux】标准输出和异常输出
  • 原文地址:https://blog.csdn.net/weixin_59197425/article/details/127694804