您的位置:首页 > 汽车 > 时评 > 如何做网页快捷方式_免费的黄页推广软件哪个好_热点时事新闻_推广普通话宣传海报

如何做网页快捷方式_免费的黄页推广软件哪个好_热点时事新闻_推广普通话宣传海报

2025/1/8 11:59:01 来源:https://blog.csdn.net/qq_42889517/article/details/142153454  浏览:    关键词:如何做网页快捷方式_免费的黄页推广软件哪个好_热点时事新闻_推广普通话宣传海报
如何做网页快捷方式_免费的黄页推广软件哪个好_热点时事新闻_推广普通话宣传海报

comments: true
difficulty: 中等
edit_url: https://github.com/doocs/leetcode/edit/main/lcof/%E9%9D%A2%E8%AF%95%E9%A2%9864.%20%E6%B1%821%2B2%2B%E2%80%A6%2Bn/README.md

面试题 64. 求 1+2+…+n

题目描述

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

 

示例 1:

输入: n = 3
输出: 6

示例 2:

输入: n = 9
输出: 45

 

限制:

  • 1 <= n <= 10000

解法

方法一

Python3
class Solution:def sumNums(self, n: int) -> int:# n 是 0,所以 0 and (0 + self.sumNums(-1)) 结果是 0return n and (n + self.sumNums(n - 1)) 
Java
class Solution {public int sumNums(int n) {int s = n;boolean t = n > 0 && (s += sumNums(n - 1)) > 0;return s;}
}
C++
class Solution {
public:int sumNums(int n) {n && (n += sumNums(n - 1));return n;}
};
Go
func sumNums(n int) int {s := 0var sum func(int) boolsum = func(n int) bool {s += nreturn n > 0 && sum(n-1)}sum(n)return s
}
TypeScript
var sumNums = function (n: number): number {return n && n + sumNums(n - 1);
};
Rust
impl Solution {pub fn sum_nums(mut n: i32) -> i32 {n != 0&& ({n += Solution::sum_nums(n - 1);},true,).1;n}
}
JavaScript
/*** @param {number} n* @return {number}*/
var sumNums = function (n) {return (n ** 2 + n) >> 1;
};
C#
public class Solution {public int result;public int SumNums(int n) {helper(n);return result;}public bool helper(int n) {result += n;return n == 0 || helper(n - 1);}
}
Swift
class Solution {func sumNums(_ n: Int) -> Int {var s = nlet _ = n > 0 && { s += sumNums(n - 1); return true }()return s}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com