【Try try C++】 求1+2+3+...+n

简介: 【Try try C++】 求1+2+3+...+n

点我做题


请看题目:


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


解题:


思路:


单看1+2+3+...+n,这个题是不难的,可是难就难在不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C),也就是不能使用循环和递归来解题。


那么怎么办呢? 这里提供一种方法:利用C++的函数数组,调用一个函数n次,函数内部设两个变量:_ret 和 _n ,初始值分别设为 0 和 1 ,每调用一次函数,_ret 累和,_n++ ,如此调用 n 次,不久实现 1+2+3+...+n 了吗?


代码实现:


class Sum
{
public:
    Sum()
    {
        _ret += _n;
        _n++;
    }
    static int GetRet()    // 因 _ret 是私有,需要个取值函数来返回
    {
        return _ret;
    }
private:
    static int _n;    // 静态变量,保留上次的数值
    static int _ret; 
};
int Sum::_ret = 0;    // 类里声明,类外定义
int Sum::_n = 1;
class Solution {
public:
    int Sum_Solution(int n) {
        Sum a[n];    // 数组函数,调用 n 次 Sum
        return Sum::GetRet();
    } 
};


解毕。


目录
相关文章
|
网络安全
[网络安全]upload-labs Pass-15 解题详析
[网络安全]upload-labs Pass-15 解题详析
270 0
|
10月前
|
CDN
阿里云CDN价格表:不知道CDN怎么收费?新手秒懂百科
阿里云CDN收费包括基础费用和增值费用。基础费用提供三种计费方式:按流量、带宽峰值及月结95带宽峰值, 默认按流量计费,价格因地区和用量而异;用户也可购买流量资源包抵扣费用。增值服务如HTTPS、QUIC、WAF及实时日志等按需收费,不使用则不收费。阿小云整理了2025年最新标准,详情参见阿里云官网。
|
测试技术 项目管理 UED
产品经理-面试问题(初级)
本文整理了AxureMost的初级产品经理面试问题,涵盖工作流程、B端/C端/G端产品区别、需求评估与优先级划分、产品经理所需能力、职业规划等方面。详细解析了如何从需求分析到产品上线的全流程管理,强调逻辑、沟通、文档、学习及项目管理等核心能力,并探讨了成功产品的标准和用户需求转化方法。适合准备产品经理面试的读者参考。
362 7
|
10月前
|
云安全 NoSQL 安全
【Azure Redis】关于Redis的两个安全漏洞在Azure Redis是否修复问题:CVE-2024-51741 和 CVE-2024-46981
本文探讨了两个 Redis 漏洞(CVE-2024-51741 和 CVE-2024-46981)在 Azure Redis 上是否存在安全风险。CVE-2024-51741 可能因格式错误的 ACL 触发拒绝服务,而 CVE-2024-46981 或因恶意 Lua 脚本导致远程代码执行。目前 Azure Redis 使用版本 6.0,不受上述漏洞影响,且 Azure 云服务会及时修复漏洞以确保安全。文章强调 Azure 遵循严格的安全标准,为用户提供可靠保障。
394 4
|
存储 NoSQL Redis
Redis 为什么这么快?4 大核心设计图解!
本文详细解析了 Redis 的高性能设计,包括内存存储、单线程模型、IO多路复用技术和数据结构优化,帮助更好地理解和应用 Redis。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
Redis 为什么这么快?4 大核心设计图解!
|
存储 缓存 算法
在C语言中,数据结构是构建高效程序的基石。本文探讨了数组、链表、栈、队列、树和图等常见数据结构的特点、应用及实现方式
在C语言中,数据结构是构建高效程序的基石。本文探讨了数组、链表、栈、队列、树和图等常见数据结构的特点、应用及实现方式,强调了合理选择数据结构的重要性,并通过案例分析展示了其在实际项目中的应用,旨在帮助读者提升编程能力。
454 5
|
机器学习/深度学习 人工智能 自然语言处理
揭秘深度学习中的自注意力机制及其在Transformer模型中的应用
揭秘深度学习中的自注意力机制及其在Transformer模型中的应用
|
Android开发
Android 快别用Toast了,来试试Snackbar
🔥 应用场景 🔥 源码 💥 Toast.setGravity() 💥 Toast.isSystemRenderedTextToast() 🔥 Toast 提供的方法 💥 Toast.setView() 源码 🔥 Snackbar 💥 代码实现 💥 效果 💥 工具类
1358 0
Android 快别用Toast了,来试试Snackbar
|
存储 关系型数据库 MySQL
mysql中的left join、right join 、inner join的详细用法
【8月更文挑战第16天】在MySQL中,`INNER JOIN`、`LEFT JOIN`与`RIGHT JOIN`用于连接多表。`INNER JOIN`仅返回两表中匹配的行;`LEFT JOIN`保证左表所有行出现于结果中,右表无匹配时以NULL填充;`RIGHT JOIN`则相反,保证右表所有行出现于结果中。例如,查询学生及其成绩时,`INNER JOIN`仅显示有成绩的学生;`LEFT JOIN`显示所有学生及他们对应的成绩,无成绩者成绩列为空;`RIGHT JOIN`显示所有成绩及对应学生信息,无学生信息的成绩条目则为空。
1019 1
|
数据采集 监控 数据管理
数据质量最佳实践(4):支持范围和多级分区质量监控+按项目和个人管理数据质量【Dataphin V3.11】
在Dataphin数据治理系列:基于数据质量管理,支撑业务快速发展这篇文章中,我们详细的介绍了Dataphin数据质量模块的产品核心能力和产品使用演示。 在Dataphin V3.11版本中,质量新增了下面两个能力: 1、针对复杂的业务分区的校验能力 2、按照项目和个人管理数据质量
665 1

热门文章

最新文章