Java实现求 1+2+3+.....+n
来源:互联网 发布:c语言全集 编辑:程序博客网 时间:2024/05/17 04:18
题目描述
求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)
我的第一反应是,这个题是不是想让用操作符 && || ^ 这些来做啊?但是我不会啊
然后我想Java里面有没有函数能够求呢,写了一版代码,但是我觉得这应该不是题目要的回答:
public class Solution { public int Sum_Solution(int n) { n = (int) (Math.pow(n, 2)+n)>>1; return n; }}
看一下大神的代码:
public class Solution { public int Sum_Solution(int n) { int sum = n; boolean ans = (n>0)&&((sum+=Sum_Solution(n-1))>0); return sum; }}
思路:用逻辑与&&与短路特性实现递归终止
boolean ans = (n>0)&&
当n>0时,会一直递归执行Sum_Solution(n-1)
直到n==0,开始return sum;
编程之美真的很喜欢考一些底层操作符的运算诶!看来找个时间要总结一下了。
阅读全文
0 0
- Java实现求 1+2+3+.....+n
- 求1+2+...+n(Java实现)
- 剑指offer----求1+2+3+...+n----java实现
- 求1+2+3+...+n java
- 求1+2+…+n 之 Java 实现
- 剑指offer面试题46 求1+2+3…+n(java实现)
- 1、求n!;2、求1!+2!+3!+......+n!之和
- 求1+2+3+....n
- 求1+2+3+...+n
- 求1+2+3+...+n
- 求1+2+3+...+n
- 求1+2+3+...+n
- 求1+2+3+。。。+N
- 求1+2+3+...+n
- 求1+2+3+...+n
- 求1+2+3+...+n
- 求1+2+3+...+n
- 求1+2+3+...+n
- 线程间协作——wait & notify & notifyAll
- PCRE2 正则库在Windows环境编译
- 26_api文档_package的概念_生成自己项目的api文档
- 顺序容器
- Ubuntu 17.04 编译OpenCV 问题解决stdlib.h: No such file or directory
- Java实现求 1+2+3+.....+n
- Android 横竖屏切换
- 杭电ACM2032:杨辉三角
- 时间戳和普通时间转换
- 编程练习(第十六周)
- 模拟试——sleep
- Jquery mobile 中用popup弹出对话框的实现
- 练习60
- XML教程进阶03_编码