尼科彻斯定理

目录

1.题目概述

2.题解

思路分析

具体实现


1.题目概述

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

示例

输入:6

输出:31+33+35+37+39+41

2.题解

思路分析

本题思路与高中的等差数列求解思路相同,题目描述为:任何一个整数m的立方都可以写成m个连续奇数之和,翻译为高中数学题目,即,首相a_{1},公差d2的等差数列,数列前m项和Sn为m^{3},分别求出等差数列前m项的值。

因此,只需根据等差数列求和公式求出a_{1}的值,则可求出该m个连续的奇数

 等差数列公式:Sn=na_{1}+\frac{n(n-1)d}{2}

将数据带入公式:m^{3}=ma_{1}+\frac{m(m-1)2}{2}

则可得:a_{1}=\frac{m^{3}-m(m-1)}{m}

具体实现

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
       int m = in.nextInt();
       //计算和
        int sn = (int)Math.pow(m,3);
        //计算首项
        int a1 = (sn - m*(m-1)) / m;
        String s = "";
        s += a1;
        for(int i = 1; i < m; i++){
            s += "+";
            s += (a1+(i*2));
        }
        System.out.println(s);
    }
}

注:题目出自牛客网,链接如下:

尼科彻斯定理_牛客题霸_牛客网 (nowcoder.com)

你可能感兴趣的:(Java刷题,java)