A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© syd957594556 中级黑马   /  2016-6-6 22:58  /  1028 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

题目描述
任何一个自然数m的立方均可写成m个连续奇数之和。例如:
1^3=1
2^3=3+5
3^3=7+9+11
4^3=13+15+17+19
现在让你求111^3中的连续奇数和,若有多组数据,输出开头最小的那组数据的第一个数据!

public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int n = 111;
        int s = n * n * n;
        int temp;
        for (int i = 1; i <= s; i += 2) {
            temp = 0;
            for (int j = i; j <= s; j += 2) {
                temp += j;
                if (temp == s) {
                    sop(i, j);
                } else if (temp > s) {
                    break;
                }
            }
        }

    }

    private static void sop(int i, int j) {
        // TODO Auto-generated method stub
        if (i == j) {
            return;
        }
        for (int k = i; k <= j; k += 2) {
            System.out.println(k + " ");
        }
        System.out.println("--------");
    }

}

2 个回复

倒序浏览
【更多精彩原版贴】http://blog.csdn.net/divide_

评分

参与人数 2黑马币 +20 收起 理由
啦啦啦7 + 10 神马都是浮云
啦啦啦3 + 10 赞一个!

查看全部评分

回复 使用道具 举报
方法不错
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马