zoukankan      html  css  js  c++  java
  • 尼科彻斯定理

    尼科彻斯定理

         暝色入高楼  有人楼上愁

     

    题目描述

    验证尼科彻斯定理,即:任何一个整数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   }

    验证通过

     

     

                                                   暝色入高楼
                          有人楼上愁




  • 相关阅读:
    AtCoder Regular Contest 086 E
    bzoj3192: [JLOI2013]删除物品(树状数组)
    bzoj5118: Fib数列2(费马小定理+矩阵快速幂)
    bzoj2314: 士兵的放置(树形DP)
    bzoj1907: 树的路径覆盖(树形DP)
    最小割 总结&&做题记录
    最大流 总结&&做题记录
    网络流24题之太空飞行计划
    网络流24题之负载平衡问题
    网络流24题之飞行员配对方案
  • 原文地址:https://www.cnblogs.com/taojietaoge/p/14731191.html
Copyright © 2011-2022 走看看