C++版 - 剑指offer 面试题46:求1+2+3+...+n(不能使用乘除法、循环语句及条件判断语句) 题解

这篇博客主要介绍了如何在不允许使用乘除法、循环和条件判断语句的情况下,解决求1到n的和的问题。通过分析,提出了短路逻辑运算符、二维数组结合位操作、构造函数、函数指针、虚函数和模板函数等不同方法,提供了解题思路和AC代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

剑指offer 面试题: 求1+2+3+...+n

 

提交网址: http://www.nowcoder.com/practice/7a0da8fc483247ff8800059e12d7caf1?tpId=13&tqId=11200

 

参与人数:2426  时间限制:1秒  空间限制:32768K

 

题目描述

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

 

 

分析:

方法1: 短路与&&、短路或|| + 递归

不能用判断语句的关键字,但是能想到短路与&&、短路或||的特性:如果 || 前面一个为真,则||后面的不会再执行,如果 && 前面一个为假,则&&后面的不会再执行。

 

AC代码:

#include <iostream>
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

极客白小飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值