求1+2+3+...+n的和
当我看了这道剑指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的和相关推荐
- 力扣解题——求根到叶子节点数字之和
难度:中等 题目:给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字. 例如,从根到叶子节点路径 1->2->3 代表数字 123. 计算从根到 ...
- HJ86 求最大连续bit数
描述 求一个byte数字对应的二进制数字中1的最大连续数,例如3的二进制为00000011,最大连续2个1 本题含有多组样例输入. 输入描述: 输入一个byte数字 输出描述: 输出转成二进制之后连续 ...
- 利用牛顿法求平方根-Go语言实现
牛顿法解释 百度的解释如下: 通俗的解释就是:多数方程不存在求根公式,牛顿提出了一种用迭代来求方程近似根的方法.思路就是不断取切线,用线性方程的根逼近非线性方程f(x)=0f(x)=0f(x)=0的根 ...
- 求字符串全排列 python实现
文章目录 算法思想 附上c语言实现 参考 算法思想 输入一个字符串,打印这个字符串中字符的全排列. eg: 输入:abc 输出:abc acb bac bca cab cba 思路:将求字符串的全排列 ...
- 正视自己的所想所求,活出真实的自己
你有没有发现有时我们会觉得不开心,是因为有时候我们会觉得有时候我们很穷,过得没有别人好.其实,有时候我们过得不好,真的不是因为穷.很多时候,我们习惯把生活的不愉快归罪于缺钱: 所以会觉得不开心,如果我 ...
- 经典笔试上机考题-表达式求值
相信参加过笔试面试同学应当见到过表达式求值这道题,下面列举的一道经典的考题,本文将同大家一起细细探讨一下表达式求值这一类问题的求法,希望抛砖引玉,其中有不妥的地方也请大家多多批评指正. /* 功能:四 ...
- python符号求导
https://blog.csdn.net/m0_46149708/article/details/109024564 from sympy import * x, y, z = symbols('x ...
- 矩阵乘以其矩阵转置求导-数学
20210703 矩阵论 https://zhuanlan.zhihu.com/p/288541909?utm_source=wechat_session 矩阵运算法则 20210529 https: ...
- 解释为什么用梯度下降而不是直接求导数为0的解
问题: 在计算线性回归最大似然估计的解的时候,最后的推导结果是 为什么不直接求出θ?而是一步步迭代求出θ? 原因 因此,梯度下降可以节省大量的计算时间.此外,它的完成方式允许一个简单的并行化,即在多个 ...
- PyTorch入门学习(二):Autogard之自动求梯度
autograd包是PyTorch中神经网络的核心部分,简单学习一下. autograd提供了所有张量操作的自动求微分功能. 它的灵活性体现在可以通过代码的运行来决定反向传播的过程, 这样就使得每一次 ...
最新文章
- docker 容器 导入 导出
- 单词:readme emulate prompt cross-reference copyright align
- 【控制】《现代控制理论》谢克明老师-第2章-线性控制系统状态空间表达式的求解
- 人工智能必看的 45 篇论文(附下载地址)
- C#反射使用方法过程及步骤
- Linux Shell脚本 - 什么是Shell
- 345所开设人工智能本科专业高校名单大全
- python列出文件夹所有文件_python列出文件夹下的所有文件的4种方法
- selenium实现chrome分屏截图的合并
- python常用模块用法_python笔记之常用模块用法分析
- VB根据窗体自动调整窗体内控件大小 注:实用,可以直接引用
- eureka 注册中心高可用失败,没有互为副本
- Java读取TXT文件中文输出乱码
- 带通滤波器的设计概述
- word打开老是配置进度_打开word2010总是出现配置进度怎么办_打开word2010出现配置进度的解决方法-系统城...
- centos中设置邮件发送
- BUUCTF [0CTF 2016] piapiapia
- 2015年12月学习计划
- iOS 中 XML 数据交换格式
- pm2 部署 nuxt3.js 项目并设置服务器重启时项目自动重启