微软面试100题系列---求1+2+3+...+n
2016-09-02 18:20
363 查看
题目
求1+2+…+n;要求:不能使用乘除法、for、while、if、else、switch、case 等关键字以及条件判断语句;
实现
分析
直接使用公式:1+2+…+n=n*(n+1)/2循环
递归 f(n)=f(n-1)+n;f(1)=1;什么是否递归结束?需要使用if判断;
方法1
递归,使用&&性质结束递归int add(int n){ int sum=0; n && (sum=add(n-1)); sum+=n; return sum; }
方法2
循环如何不用for和while实现循环;
定义一个类,new一个含有n个这种类对象的数组,那么会调用n次该类的构造函数,将操作放入构造函数中,利用静态变量;
java 中: Num[] nums=new Num[10];不会调用构造函数 需要一个一个new;
如果使用该方法,需要手动new出来n个对象,比较麻烦;
相关文章推荐
- 微软等公司数据结构+算法面试100题系列(61——100题)
- 网友答案整理I:微软等面试100题系列之网友精彩回复 [一]
- 永久勘误:微软等面试100题系列,答案V0.4版[第41-60题答案]
- 永久勘误:微软等面试100题系列,答案V0.4版[第41-60题答案]
- 网友答案整理I:微软等面试100题系列之网友精彩回复 [一]
- 微软面试100题系列:一道合并链表问题的解答[第42题]
- 永久勘误:微软等面试100题系列,答案V0.4版[第41-60题答案]
- 永久勘误:微软等面试100题系列,答案V0.3版[第21-40题答案]
- 微软面试100系列 第32题
- 关于本微软等公司数据结构+算法面试100题系列的郑重声明
- 微软面试100题系列:一道合并链表问题的解答[第42题]
- 网友答案整理II:微软等面试100题系列之网友精彩回复 [二]
- 微软等面试100题系列 29题解答 望各位同行指导
- 关于本微软等公司数据结构+算法面试100题系列的郑重声明
- 网友答案整理I:微软等面试100题系列之网友精彩回复 [一]
- 网友答案整理II:微软等面试100题系列之网友精彩回复 [二]
- 微软面试100题系列:一道合并链表问题的解答[第42题]
- 微软等面试100题系列--(1-20)
- 微软等面试100题系列--(41-60)
- 永久勘误:微软等面试100题系列,答案V0.4版[第41-60题答案]