华为机试题【7】-尼科彻斯定理
题目描述:
验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。m属于[1,100],超出范围则报错。
例如:
1^3=1
2^3=3+5
3^3=7+9+11
4^3=13+15+17+19
思路:
- 首先对于数学题,注意审题,除了数学基础,还有多举几个例子,看看规律,总结一下
- 不难发现展开式从(n*n - n + 1)开始,步进2显示,共显示n个数。
-
代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
while(scan.hasNext()){
int input = scan.nextInt();
System.out.println(getResult(input));
}
}
//获取展开式的函数
public static String getResult(int n){
if(n < 1 && n >100){
return "";
}
int a = n*n - n + 1;
int result = a;
StringBuffer sb = new StringBuffer();
sb.append(a);
for(int i = 1;i < n;i++){
a = a + 2;
sb = sb.append("+").append(a);
}
return sb.toString();
}
}