【追求进步】求1+2+3+...+n
2016-04-20 23:12
316 查看
看着学不懂的网络,脑子都累,最终还是觉得刷算法题目比较舒服!
题目描述
求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。在线代码:
尝试用构造函数的方式,但是发现不行:
package TestProblem; public class Test08 { static int sum,N; public Test08() { ++N; sum+=N; } public static int Sum_Solution(int n) { Test08 s=new Test08(); Test08 s1=new Test08(); Test08 s2=new Test08(); return sum; } public static void main(String[] args) { System.out.println(Sum_Solution(3)); } }
正确解法:递归
public class Solution { //java中不能使用一次创建n个对象。只能是递归了 public int Sum_Solution(int n) { int sum=n; boolean flag=(n>0)&&((sum+=Sum_Solution(n-1))>0); return sum; } }
相关文章推荐
- 2016阿里巴巴实习生在线笔试
- Learn Java for Android Development (第三版)---简介
- EasyUI selenium自动化的一些总结
- Hdu_5153_容斥原理
- android:layout_gravity和android:gravity的使用区别
- UVA 1664 Conquer a New Region
- python环境搭建
- Unable to validate using XSD: Your JAXP provider [gnu.xm
- VSVC2010中常用的C++11特性
- MySQL数据库学习中的一些问题
- IOS实现输入验证码、密码按位分割
- android 之 Crash信息的持久化处理
- 开发笔记-图片拉伸保持不变形
- 基于 lua-resty-upload 实现简单的文件上传服务
- WinForm ToolTip使用方法小结
- 17. Letter Combinations of a Phone Number
- CSS实现多重边框和内凹圆角
- 国际工程承包项目风险识别与分析
- HDU - 2571 命运
- HDU 1018 Big Number