当我看了这道剑指offer的笔试题后,觉得这简直是在摩擦我的智商,看完别人的方案之后,真的是这样。

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

解法1:
利用逻辑运算符的短路原则,代码如下:
代码中如果ans是0则结束递归,返回结果,是不是很nice。

class Solution {
public:int Sum_Solution(int n) {int ans = n;ans && (ans += Sum_Solution(n-1));return ans;}
};

解法2:
使用二维数组的大小计算,比如一个char型二维数组array的大小是n*m,那sizeof(array)就是n*m*sizeof(char),其实就是n*m,上代码:
利用求和公式S=(1+n)*n/2;

class Solution {
public:int Sum_Solution(int n) {char array[n][n+1];return sizeof(array)>>1;}
};

求1+2+3+...+n的和相关推荐

  1. 力扣解题——求根到叶子节点数字之和

    难度:中等 题目:给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字. 例如,从根到叶子节点路径 1->2->3 代表数字 123. 计算从根到 ...

  2. HJ86 求最大连续bit数

    描述 求一个byte数字对应的二进制数字中1的最大连续数,例如3的二进制为00000011,最大连续2个1 本题含有多组样例输入. 输入描述: 输入一个byte数字 输出描述: 输出转成二进制之后连续 ...

  3. 利用牛顿法求平方根-Go语言实现

    牛顿法解释 百度的解释如下: 通俗的解释就是:多数方程不存在求根公式,牛顿提出了一种用迭代来求方程近似根的方法.思路就是不断取切线,用线性方程的根逼近非线性方程f(x)=0f(x)=0f(x)=0的根 ...

  4. 求字符串全排列 python实现

    文章目录 算法思想 附上c语言实现 参考 算法思想 输入一个字符串,打印这个字符串中字符的全排列. eg: 输入:abc 输出:abc acb bac bca cab cba 思路:将求字符串的全排列 ...

  5. 正视自己的所想所求,活出真实的自己

    你有没有发现有时我们会觉得不开心,是因为有时候我们会觉得有时候我们很穷,过得没有别人好.其实,有时候我们过得不好,真的不是因为穷.很多时候,我们习惯把生活的不愉快归罪于缺钱: 所以会觉得不开心,如果我 ...

  6. 经典笔试上机考题-表达式求值

    相信参加过笔试面试同学应当见到过表达式求值这道题,下面列举的一道经典的考题,本文将同大家一起细细探讨一下表达式求值这一类问题的求法,希望抛砖引玉,其中有不妥的地方也请大家多多批评指正. /* 功能:四 ...

  7. python符号求导

    https://blog.csdn.net/m0_46149708/article/details/109024564 from sympy import * x, y, z = symbols('x ...

  8. 矩阵乘以其矩阵转置求导-数学

    20210703 矩阵论 https://zhuanlan.zhihu.com/p/288541909?utm_source=wechat_session 矩阵运算法则 20210529 https: ...

  9. 解释为什么用梯度下降而不是直接求导数为0的解

    问题: 在计算线性回归最大似然估计的解的时候,最后的推导结果是 为什么不直接求出θ?而是一步步迭代求出θ? 原因 因此,梯度下降可以节省大量的计算时间.此外,它的完成方式允许一个简单的并行化,即在多个 ...

  10. PyTorch入门学习(二):Autogard之自动求梯度

    autograd包是PyTorch中神经网络的核心部分,简单学习一下. autograd提供了所有张量操作的自动求微分功能. 它的灵活性体现在可以通过代码的运行来决定反向传播的过程, 这样就使得每一次 ...

最新文章

  1. docker 容器 导入 导出
  2. 单词:readme emulate prompt cross-reference copyright align
  3. 【控制】《现代控制理论》谢克明老师-第2章-线性控制系统状态空间表达式的求解
  4. 人工智能必看的 45 篇论文(附下载地址)
  5. C#反射使用方法过程及步骤
  6. Linux Shell脚本 - 什么是Shell
  7. 345所开设人工智能本科专业高校名单大全
  8. python列出文件夹所有文件_python列出文件夹下的所有文件的4种方法
  9. selenium实现chrome分屏截图的合并
  10. python常用模块用法_python笔记之常用模块用法分析
  11. VB根据窗体自动调整窗体内控件大小 注:实用,可以直接引用
  12. eureka 注册中心高可用失败,没有互为副本
  13. Java读取TXT文件中文输出乱码
  14. 带通滤波器的设计概述
  15. word打开老是配置进度_打开word2010总是出现配置进度怎么办_打开word2010出现配置进度的解决方法-系统城...
  16. centos中设置邮件发送
  17. BUUCTF [0CTF 2016] piapiapia
  18. 2015年12月学习计划
  19. iOS 中 XML 数据交换格式
  20. pm2 部署 nuxt3.js 项目并设置服务器重启时项目自动重启

热门文章

  1. 安装 ubuntu 系统各分区参考大小
  2. 前端工程师应该选择什么操作系统
  3. 近三位数增长,苏宁银行金融科技之花结出普惠金融之果
  4. 基础Code运用——编译一个网页
  5. 区块链Fabric 之共识机制
  6. 昆明学院2019年计算机考试,昆明学院2019年招生章程
  7. 奥特曼系列超清珍藏壁纸,你确定不收藏?!
  8. 实型数据double和float的输入与输出
  9. html中div中加颜色,css怎样给div加边框颜色
  10. 如何查询 Windows 操作系统的安装时间?