package test;
import java.util.ArrayList;
import java.util.List;
public class Nikechesi {
x05public static void main(String[] args) {
x05x05System.out.println(GetSequeOddNum(3));
x05}
x05public static String GetSequeOddNum(int m) {
x05x05int sum = m * m * m;
x05x05List
list = new ArrayList
();
x05x05for (int i = 1;; i += 2) {
x05x05x05sum = m*m*m;
x05x05x05list = new ArrayList
();
x05x05x05for (int j = i;; j += 2) {
x05x05x05x05sum -= j;
x05x05x05x05list.add(j);
x05x05x05x05if (sum <= 0) {
x05x05x05x05x05break;
x05x05x05x05}
x05x05x05}
x05x05x05if (sum == 0) {
x05x05x05x05break;
x05x05x05} else {
x05x05x05x05continue;
x05x05x05}
x05x05}
x05x05String s = "";
x05x05for(Integer i:list){
x05x05x05s += "+" + i ;
x05x05}
x05x05
x05x05return s.substring(1);
x05}
}
你给定了m的取值范围,所以这段代码中没有考虑负数和0,不过也不难.0的话直接返回-1+1,负数的话先去掉符号-,计算完毕后在在list的元素中加上