【剑指offer】面试题64:求1+2+......+n
来源:互联网 发布:软件测试性能测试 编辑:程序博客网 时间:2024/06/15 14:02
题目
求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
思路
看下面的注释
代码
/** * 思路: * 与 n 有关,又有题目那些限制,我们首先想到用数组解决。 * 将数的累加放到构造函数中。 * 不过因为数组不用for无法直接初始化,所以这个方法是错误的。 * * 解法: * 用&&做截断 * * @author peige */public class _64_Accumulate { public static int Sum_Solution(int n) { int sum = 0; boolean b = (n > 0) && ((sum += Sum_Solution(n - 1) + n) > 0); return sum; }}
测试
public class _64_Test { public static void main(String[] args) { test1(); test2(); } private static void test1() { int res = _64_Accumulate.Sum_Solution(5); MyTest.equal(res, 15); res = _64_Accumulate.Sum_Solution(10); MyTest.equal(res, 55); } private static void test2() { int res = _64_Accumulate.Sum_Solution(1); MyTest.equal(res, 1); }}
阅读全文
0 0
- 【剑指offer】面试题64:求1+2+......+n
- 剑指Offer:面试题46 求1+2+...+n
- 剑指offer面试题46:求1+2+...+n
- 剑指offer-面试题46:求1+2+…+n
- 剑指offer--面试题46:求1+2+3+...+n
- 剑指offer-面试题46-求1+2+3+...+n
- 【剑指Offer】面试题46:求1+2+3+...+n
- 剑指offer面试题 求1+2...n
- [剑指offer][面试题46]求1+2+...+n(待完善)
- 《剑指Offer》学习笔记--面试题46:求1+2+...+n
- 【剑指offer】6.5发散思维能力——面试题46:求1+2+…+n
- 剑指offer——面试题46:求1+2+...+n的多种解法
- 剑指Offer系列-面试题46:求1+2+3+···+n
- 剑指offer面试题46 求1+2+3…+n(java实现)
- 剑指offer——面试题46:求1+2+ ... +n 之和
- 剑指offer面试题之求第n个丑数
- 剑指offer面试题之求第n个丑数
- 《剑指Offer》面试题:1+2+3+...+n
- 【分析】Ceph文件系统修复机制cephfs-data-scan(3)
- Bat执行Python脚本的问题
- java基础入门补充(002) Cloneable接口 深复制与浅复制
- 分页查询 原理以及网页实现固定页码数 搜索的实现
- Bluetooth MESH探究 --- (8) 怎么实现MESH网络?
- 【剑指offer】面试题64:求1+2+......+n
- fetch 基本Api
- # webpack+vue+vueRouter 模块化构建完整项目实例
- FTPrep, 20 Valid Parentheses
- 《零基础入门学习Python》学习过程笔记【42魔法方法:算数运算】没看
- spring Boot启动器功能详解
- [PAT乙级]1025. 反转链表 (25)
- Android开发--自定义动态导航栏的实现(很简单)
- samba服务器的搭建与配置