剑指offer 72. 求1+2+…+n

简介: 剑指offer 72. 求1+2+…+n

题目描述

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


数据范围

1≤n≤1000。

样例

输入:10
输出:55


方法一:递归 O(n)


由于题目要求不能用乘除法、for、while、if、else、switch、case 等关键字及条件判断语句 (A?B:C) 。所以这道题我们用递归的方法来做,虽然此题代码很短,但为了更直观的理解,我还是用图解形式进行讲解,假设 n = 5


280eb47ebf6b4864aa0362d708b63068.png


class Solution {
public:
    int getSum(int n) {
        if (!n)  return 0;
        return n + getSum(n - 1);
    }
};

欢迎大家在评论区交流~

目录
相关文章
|
8月前
|
存储 人工智能 自然语言处理
15.4K Star!Vercel官方出品,零基础构建企业级AI聊天机器人
"基于Next.js 14和AI SDK打造的Chat SDK,让开发者快速构建支持多模态交互、代码执行、文件共享的智能对话系统,5分钟完成全栈部署!" —— Vercel AI Chatbot项目核心宣言
459 5
|
JavaScript 前端开发
JavaScript中的原型 保姆级文章一文搞懂
本文详细解析了JavaScript中的原型概念,从构造函数、原型对象、`__proto__`属性、`constructor`属性到原型链,层层递进地解释了JavaScript如何通过原型实现继承机制。适合初学者深入理解JS面向对象编程的核心原理。
225 1
JavaScript中的原型 保姆级文章一文搞懂
|
8月前
|
JavaScript 前端开发
|
10月前
|
SQL XML Java
八、(了解即可)MyBatis懒加载(或者叫延迟加载)
八、(了解即可)MyBatis懒加载(或者叫延迟加载)
314 1
|
消息中间件 Java Kafka
【Azure 事件中心】在微软云中国区 (Mooncake) 上实验以Apache Kafka协议方式发送/接受Event Hubs消息 (Java版)
【Azure 事件中心】在微软云中国区 (Mooncake) 上实验以Apache Kafka协议方式发送/接受Event Hubs消息 (Java版)
351 1
|
12月前
|
机器学习/深度学习 分布式计算 数据挖掘
MaxFrame 性能评测:阿里云MaxCompute上的分布式Pandas引擎
MaxFrame是一款兼容Pandas API的分布式数据分析工具,基于MaxCompute平台,极大提升了大规模数据处理效率。其核心优势在于结合了Pandas的易用性和MaxCompute的分布式计算能力,无需学习新编程模型即可处理海量数据。性能测试显示,在涉及`groupby`和`merge`等复杂操作时,MaxFrame相比本地Pandas有显著性能提升,最高可达9倍。适用于大规模数据分析、数据清洗、预处理及机器学习特征工程等场景。尽管存在网络延迟和资源消耗等问题,MaxFrame仍是处理TB级甚至PB级数据的理想选择。
251 6
|
网络协议 安全 API
家用路由器DNS被恶意篡改?教你如何应对
近期大量用户反馈家用路由器出现解析失效,怀疑部分家用路由器的DNS配置遭遇了非正常变动。我们建议家用路由器用户将本地DNS改成更安全可靠的服务器,如阿里云公共DNS;企业APP终端用户使用公共DNS企业版服务。
|
缓存 负载均衡 Java
Java一分钟之-Spring Cloud Netflix Ribbon:客户端负载均衡
【6月更文挑战第9天】Spring Cloud Netflix Ribbon是客户端负载均衡器,用于服务间的智能路由。本文介绍了Ribbon的基本概念、快速入门步骤,包括添加依赖、配置服务调用和使用RestTemplate。此外,还讨论了常见问题,如服务实例选择不均、超时和重试设置不当、服务列表更新不及时,并提供了相应的解决策略。最后,展示了如何自定义负载均衡策略。理解并正确使用Ribbon能提升微服务架构的稳定性和效率。
475 3
|
SQL Oracle 关系型数据库
实时计算 Flink版操作报错合集之向远端flink提交cdc模式作业时,连接池中的连接超时,该如何处理
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
Rust 安全 C++
系统编程的未来之战:Rust能否撼动C++的王座?
【8月更文挑战第31天】Rust与C++:现代系统编程的新选择。C++长期主导系统编程,但内存安全问题频发。Rust以安全性为核心,通过所有权和生命周期概念避免内存泄漏和野指针等问题。Rust在编译时确保内存安全,简化并发编程,其生态系统虽不及C++成熟,但发展迅速,为现代系统编程提供了新选择。未来有望看到更多Rust驱动的系统级应用。
322 1