java 整数的立方和_验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。 例如: 1^3=1 2^3=3+5 3^3=7+9+11 4^3=13+15+17+19...

题目描述:

验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。

例如:

1^3=1

2^3=3+5

3^3=7+9+11

4^3=13+15+17+19

输入描述:

输入一个int整数

输出描述:

输出分解后的string

示例1

输入

6

输出

31+33+35+37+39+41

代码如下:

package www.light;

import java.util.LinkedList;

import java.util.Queue;

import java.util.Scanner;

/**

* Created with IntelliJ IDEA

* Description:验证尼科彻斯定理

* User:Light_Long

* Date:2019-07-16

* Time:15:36

*/

public class Main1 {

public String GetSequeOddNum(int m){

StringBuilder str = new StringBuilder();

int nums = (int)Math.pow(m,3);

Queuequeue = new LinkedList<>();

int sums = 0;

int i = 0;

for (i = 1; i < 1000000; i += 2) {

queue.offer(i);

if(queue.size() > m){

sums -= queue.poll();

}

sums += i;

if(sums == nums){

break;

}

}

if(i < 1000000){

while(!queue.isEmpty()){

str.append(queue.poll());

if(!queue.isEmpty()){

str.append("+");

}

}

}

return str.toString();

}

public static void main(String[] args) {

Main1 main = new Main1();

Scanner in = new Scanner(System.in);

while(in.hasNextInt()){

int pop = in.nextInt();

String str = main.GetSequeOddNum(pop);

System.out.println(str);

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 定理是指,任何一个正整数的立方都可以表示一串连续奇数的和。这个定理可以通过数学归纳法来证明。首先,当n=1时,1的立方等于1,可以表示1个奇数1的和。接着,假设对于任意正整数k,k的立方都可以表示一串连续奇数的和。那么,对于k+1,它的立方可以表示: (k+1)³ = k³ + 3k² + 3k + 1 根据归纳假设,k³可以表示一串连续奇数的和,即: k³ = (2m+1) + (2m+3) + ... + (2m+2k-1) 将上式代入(k+1)³中,得到: (k+1)³ = (2m+1) + (2m+3) + ... + (2m+2k-1) + (2k+1) + (2k+3) + (2k+5) 可以看出,上式中的所有奇数都是连续的,因此,k+1的立方也可以表示一串连续奇数的和。根据数学归纳法,原命题立。 ### 回答2: 验证定理需要用到数学归纳法。我们可以先用小数据进行验证,例如: 1^3 = 1,可以表示为 1 2^3 = 8,可以表示为 3 + 5 3^3 = 27,可以表示为 7 + 9 + 11 4^3 = 64,可以表示为 13 + 15 + 17 + 19 5^3 = 125,可以表示为 21 + 23 + 25 + 27 + 29 可以发现,每个正整数的立方都可以表示为一串连续奇数之和。现在我们来证明这个结论: 当 n = 1 时,1^3 = 1,只需要表示为一个数即可。 假设对于任意正整数 k,都可以表示为一串连续奇数之和,即: k^3 = a + (a+2) + (a+4) + ... + (a+2k-2) 那么对于 k+1,其立方为 (k+1)^3,可以表示为: (k+1)^3 = (k^3+3k^2+3k+1) 将 k^3 表示为一串连续奇数之和代入得: (k+1)^3 = a + 2k^2+2k + (a+2k) + (a+2k+2) + ... + (a+4k) 通过化简得: (k+1)^3 = (a+2k^2+2k) + (a+2k+2) + (a+2k+4) + ... + (a+4k) 这也是一串连续奇数之和,证毕。 因此,任意正整数的立方都可以表示为一串连续奇数之和。 ### 回答3: 定理是一个非常有趣的数学定理,它给出了任何一个正整数的立方都可以一串连续奇数的和。验证这个定理可以通过数学归纳法来完,下面我将分享验证过程: 首先,我们可以考虑最简单的情况,就是1的立方等于1,也只需要用1个奇数1来表示。这满足了基本情况。 假设对于任意的正整数k,都满足k的立方可以表示一串连续奇数的和,那么我们来考虑(k+1)的立方该如何表示。根据(k+1)的立方展开式: (k+1)^3 = k^3 + 3k^2 + 3k + 1 我们可以先用归纳假设将k^3表示一串连续奇数的和,即: k^3 = (2n-1) + (2n+1) + ... + (2n+2k-3) + (2n+2k-1) 然后我们将(k+1)^3中的k^3用上式代入,可以得到: (k+1)^3 = (2n-1) + (2n+1) + ... + (2n+2k-3) + (2n+2k-1) + 3(2k+1) 可以发现新增加的部分为3个连续奇数,因此(k+1)的立方也可以用一串连续奇数的和来表示。 综上所述,定理得证。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值