目录
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个连续奇数之和,翻译为高中数学题目,即,首相,公差d为2的等差数列,数列前m项和Sn为
,分别求出等差数列前m项的值。
因此,只需根据等差数列求和公式求出的值,则可求出该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);
}
}
注:题目出自牛客网,链接如下: