尼科彻斯定理

验证尼科彻斯定理,即:任何一个整数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个连续奇数之和的形式输出。

数据范围

数据范围: 1≤m≤100 进阶:时间复杂度: O(m) ,空间复杂度: O(1)

输入描述:

输入一个int整数

输出描述:

输出分解后的string

示例1

输入

6

输出

31+33+35+37+39+41

Java 编程

package cn.net.javapub.demo2.demo;

/**
 * @author: shiyuwang
 */
import java.io.*;

public class Main {
    public static void main(String[] args) throws IOException {
        InputStreamReader in = new InputStreamReader(System.in);
        BufferedReader br = new BufferedReader(in);
        String str1;
        String str2;
        while ((str1 = br.readLine()) != null && (str2 = br.readLine()) != null) {
            int max = 0;
            char[] ch1 = str1.toCharArray();
            char[] ch2 = str2.toCharArray();
            for (int i = 0; i < str1.length(); i++) {
                for (int j = 0; j < str2.length(); j++) {
                    int s1 = i;
                    int s2 = j;
                    int count = 0;
                    while (ch1[s1] == ch2[s2]) {
                        s1++;
                        s2++;
                        count++;
                        max = Math.max(count, max);
                        if (s1 == ch1.length || s2 == ch2.length)
                            break;
                    }
                }
            }
            System.out.println(max);
        }
    }
}