目录
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个连续奇数之和,翻译为高中数学题目,即,首相,公差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);}
}
注:题目出自牛客网,链接如下:
尼科彻斯定理_牛客题霸_牛客网 (nowcoder.com)