码迷,mamicode.com
首页 > 其他好文 > 详细

【华为OJ】【049-尼科彻斯定理】

时间:2016-05-13 14:55:21      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:

【华为OJ】【算法总篇章】


【华为OJ】【049-尼科彻斯定理】

【工程下载】


题目描述

验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。
例如:
1^3=1
2^3=3+5
3^3=7+9+11
4^3=13+15+17+19

接口说明
    原型:
    /*
     * 功能: 验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。
     * 原型:
     *     int getSequeOddNum(int m);
     * 输入参数:
     *     int m:整数(取值范围:1~100)
     * 
     * 返回值:
     *     m个连续奇数(格式:“7+9+11”);
     */
    public String GetSequeOddNum(int m) {
        /*在这里实现功能*/
        return null;
    }

输入描述

输入一个int整数

输出描述

输出分解后的string

输入例子

6

输出例子

31+33+35+37+39+41

算法实现

import java.util.Scanner;

/**
 * Author: 王俊超
 * Date: 2015-12-25 09:04
 * Declaration: All Rights Reserved !!!
 */
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
//        Scanner scanner = new Scanner(Main.class.getClassLoader().getResourceAsStream("data.txt"));
        while (scanner.hasNext()) {
            int n = scanner.nextInt();
            System.out.println(getSequeOddNum(n));
        }

        scanner.close();
    }

    /**
     * n个连续奇数之和
     * 简单说明:
     * 如果n是奇数,则从n^2-(n-1),n^2-(n-3)...n^2-(2),n^2-(0),n^2+(2)...n^2+(n-3),n^2+(n-1) 一共有n个数,和为n^3
     * 如果n是偶数,则从n^2-(n-1),n^2-(n-3)...n^2-(1),n^2+(1)...n^2+(n-3),n^2+(n-1) 一共有n个数,和为n^3
     *
     * @param n
     * @return
     */
    private static String getSequeOddNum(int n) {

        int lo = n * n - (n - 1);
        int hi = n * n + (n - 1);

        StringBuilder builder = new StringBuilder();
        for (int i = lo; i <= hi; i += 2) {
            builder.append(i).append(‘+‘);
        }

        return builder.substring(0, builder.length() - 1);
    }
}

【华为OJ】【049-尼科彻斯定理】

标签:

原文地址:http://blog.csdn.net/derrantcm/article/details/51380959

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!