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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

int i = 100;
System.out.println((i+1)*(i/2));//因为1+99、2+98、3+97结果都一样(上小学的时候的奥数题)  乘以i/2就ok了。
如果i的值在一千亿左右,效果会比较明显。
刚刚听了雪莉·桑德伯格在哈佛的演讲。他说努力得到反馈是一个好的习惯。所以希望大神们给出效率更高的代码。

评分

参与人数 1技术分 +1 收起 理由
lwj123 + 1

查看全部评分

25 个回复

正序浏览
这么多得解决方案
回复 使用道具 举报
Cat 中级黑马 2015-5-10 08:22:10
25#
学习一下~
回复 使用道具 举报
鸿鹄2008 发表于 2015-5-9 23:59
每次递归,都有一个方法占一片空间,并且都不释放空间,
实际上递归的效率比相同的循环要低效很多很多 ...

好吧~~
回复 使用道具 举报
sandra_bae 发表于 2015-5-7 17:45
一般效率高,要位运算之类的,不过我不懂
我会用函数的递归解决这个问题,但是不知道效率高不高。 ...

每次递归,都有一个方法占一片空间,并且都不释放空间,
实际上递归的效率比相同的循环要低效很多很多
回复 使用道具 举报
点赞。。。
回复 使用道具 举报
程序学到后面数学的基础是很重要的。数据结构和算法,还有很长的路要走。
回复 使用道具 举报
好吧,学习了
回复 使用道具 举报
厉害 学习了
回复 使用道具 举报
这里i/2可以是小数吗
回复 使用道具 举报
思路不错  我是学数学的 不过基本上忘光了都。。。
回复 使用道具 举报
确实挺简单
回复 使用道具 举报
感觉楼主好用心学习哇!!
回复 使用道具 举报
这个应该就是最高效的了。我是来水经验的。。。
回复 使用道具 举报
顶、、、、、、、、、、、、、
回复 使用道具 举报
思路不错
回复 使用道具 举报
好吧。。但是这个方法不具有 适应性。还是觉得循环嵌套 合适一点,毕竟 写的程序是给别人用的。。。
回复 使用道具 举报
数学学的不好的我真的可以学好java吗
回复 使用道具 举报
数学效率和计算机效率不能相提并论吧,如果你用个求和公式,是不是更快?
回复 使用道具 举报
这也能加技术分 厉害呀
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马