今天开始不定期更新笔试算法题

  一转眼到大四,决定找工作,参加了几次校园招聘,结果不尽如人意,方知自己实力不济,有点儿后悔当初没跟着张老大爷好好学算法,也没好好做ACM,于是痛下决心,从今开始研习算法,一扫20岁最后留下的阴霾,也算为21岁开个好头!

  先说一个小题吧,不难,但有助于发散思维。

  求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句(A?B:C)

  答:看完之后有点儿傻眼,好像说的跟什么都不能用一样,这咋办,要想理解递归就要理解递归......

/// <summary>
///递归累加
/// </summary>
/// <param name="n">累加长度(默认从一开始)</param>
/// <param name="sum">累加结果</param>
/// <returns></returns>
public static bool GetSum(int n, ref int sum)
{
sum += n;
return (n - 1 <= 0) || (GetSum(n - 1, ref sum));
}

  PS:看见了一个淘宝数据的博客,有兴趣的园友可以去参观,个人认为牛人颇多,地址:http://www.tbdata.org/archives

  祝我生日快乐,群星闪耀!

原文地址:https://www.cnblogs.com/qunyang/p/2175526.html