一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 772|回复: 1
收起左侧

epic oa题additive number

[复制链接] |试试Instant~ |关注本帖
byrlhb 发表于 2014-11-22 13:51:27 | 显示全部楼层 |阅读模式

2014(10-12月) 码农类 本科 全职@epic - 网上海投 - 在线笔试 |Fail

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
epic OA挂掉了,准备得不太充分,coding题中有一道additive number比较有意思,又做了一遍,把方法post在这里,希望能帮助大家~攒人品!如果觉得有帮助,不要吝啬大米啊!不知道题的请戳这里http://careercup.appspot.com/question?id=17075662
        public void generateAdditiveNumber(int low, int high)
        {. visit 1point3acres.com for more.
                int digitHigh = (int) (Math.log10(high)) + 1;. From 1point 3acres bbs
                int digitLow = (int) (Math.log10(low)) + 1;. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
                for(int i = 3; i <= digitHigh; i++)
                {
                        int firstStart = (int)Math.pow(10, digitLow / i - 1);. from: 1point3acres.com/bbs
                        if(firstStart == 0)
                        {
                                firstStart = 1;
                        }
                        int firstEnd = (int)Math.pow(10, digitHigh / i);
                        for(int first = firstStart; first < firstEnd; first++). 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
                        {
                                int digitNum = (int) (Math.log10(first)) + 1;. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
                                for(int second = 0; second < (int) Math.pow(10, digitNum); second++)
                                {
                                        int previous = first;. 鍥磋鎴戜滑@1point 3 acres
                                        int present = second;
                                        StringBuffer value = new StringBuffer();
                                        value.append(String.valueOf(first * (int)Math.pow(10, digitNum) + second));
                                        for(int j = 3; j <= i; j++)
                                        {
                                                int number = present + previous;
                                                value.append(String.valueOf(number));
                                                previous = present;. more info on 1point3acres.com
                                                present = number;
                                        }.鐣欏璁哄潧-涓浜-涓夊垎鍦
                                        String result = value.toString();
                                        if(result.length() <= digitHigh && Long.valueOf(result) >= (long)low && Long.valueOf(result) <= (long)high)
                                        {.鐣欏璁哄潧-涓浜-涓夊垎鍦
                                                System.out.println(result);
                                        }               
                                }
                        }                       
                }               
        }

-google 1point3acres

. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
. 1point3acres.com/bbs

补充内容 (2014-11-24 01:09):
此题还有考虑不周全的地方,因为无法删帖,请直接忽视,谢谢

评分

1

查看全部评分

sophiehu 发表于 2016-2-20 11:34:22 | 显示全部楼层
鼓掌,发现了一个好的网站
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-6 14:07

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表