题解 | #尼科彻斯定理#
尼科彻斯定理
http://www.nowcoder.com/practice/dbace3a5b3c4480e86ee3277f3fe1e85
思路:
- 获取 当前数num 的 三次方
- 将 当前数的三次方 除以 当前数,得到 acc 这么一个数值
- 在 acc 这个数的两侧(包括自身),取够 num 个奇数即可
总体来说,就是一个找规律的题目。发现规律了,就很好做,否则,只能使用暴力破解的方式了。
对于最终的结果,它们是连续的奇数,并且它们分布在 这么一个数据的左右两侧
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int num = Integer.valueOf(scan.nextLine().trim());
int cube = (int) Math.pow(num, 3);
int acc = cube / num;
for (int i = acc - num + 1; i <= acc + num - 1; i += 2) {
if (i == acc + num - 1) {
System.out.println(i);
return;
}
System.out.print(i + "+");
}
}
}