ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

尼科彻斯定理

2021-05-05 18:34:12  阅读:137  来源: 互联网

标签:斯定理 奇数 int 尼科 a1 Sn 输入 result


尼科彻斯定理

     暝色入高楼  有人楼上愁

 

题目描述

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

例如:

1^3=1

2^3=3+5

3^3=7+9+11

4^3=13+15+17+19

输入一个正整数m(m≤100),将m的立方写成m个连续奇数之和的形式输出。 本题含有多组输入数据。

输入描述:

输入一个int整数

输出描述:

输出分解后的string

示例1

输入

6

输出

31+33+35+37+39+41

Java代码:

 1 import java.io.BufferedReader;
 2 import java.io.IOException;
 3 import java.io.InputStreamReader;
 4 
 5 /**
 6   * 1^3 = 1*1*1 = 1 =》1个连续奇数之和:1
 7   * 2^3 = 2*2*2 = 8 =》2个连续奇数之和: 3 + 5 = 8
 8   * 3^3 = 3*3*3 = 27 =》3个连续奇数之和:7 + 9 + 11 = 27
 9   * 4^3 = 4*4*4 = 64 =》4个连续奇数之和:15 + 17 + 19 + 21 = 64
10   * 对比发现规律:连续奇数之间相差均为2,即公差为2,d = 2
11   * 题目要“将m的立方写成m个连续奇数之和的形式输出”,只要我们知道了第一个数,往后+2,就可以得到后面的值了
12   * 由公差联想到高中的等差数列:Sn=a1*n+[n*(n-1)*d]/2
13   * 输入Sn 已知,即项目n & 等差数列和Sn & 公差d 均已知,求首项a1
14   * a1 = Sn/n - (n-1)
15   **/
16   public class Main{
17       public static void main(String[] args) throws IOException{
18           BufferedReader bufferReader = new BufferedReader(new InputStreamReader(System.in));
19           String inputContent = "";
20           while((inputContent = bufferReader.readLine()) != null){
21               int n = Integer.parseInt(inputContent); // 转换之后的输入整数
22               long sum = (long)Math.pow(n,3); // 整数n的立方 = Sn
23               int a1 = (int)sum/n - (n -1); //代入公差d=2,得出首项 a1 表达式
24               StringBuilder result = new StringBuilder(Integer.toString(a1));
25               for(int i = 1; i < n; i++){ // d = 2,首项+2 往后循环
26                   a1 = a1 + 2;
27                   result.append("+");  // 拼接
28                   result.append(a1);
29               }
30               System.out.println(result); // 输出
31           }
32       }
33       
34   }

验证通过

 

 

 

                                               暝色入高楼
                      有人楼上愁




标签:斯定理,奇数,int,尼科,a1,Sn,输入,result
来源: https://www.cnblogs.com/taojietaoge/p/14731191.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有