首页 > 其他分享 >【剑指offer】- 求1+2+3+...+n -47/67

【剑指offer】- 求1+2+3+...+n -47/67

时间:2023-05-24 15:03:32浏览次数:71  
标签:return int 47 Sum Solution boolean 67 题目 +...+


1. 题目描述

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

2. 题目分析

  1. 对于这种求1+2+3+…+n的题,我们可以采取3中方法
  2. 第一种:直接利用等差数列的思想来进行求和return (1 + n) * n / 2;
  3. 第二种:利用迭代的思想进行求和int res = 0; for(int i = 1; i <= n; i++) res += i; return res;
  4. 第三种:利用递归的方式进行求和if (n == 1) { return 1; } n = n + sumNums(n - 1); return n;
  5. 题目中表示,不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C),所以,我们上述的方法没有办法直接使用。
  6. 我们来看一下对于递归而言,他的终止条件就是当n==1时,我们这里需要知道关于if的一些操作判断的问题

【剑指offer】- 求1+2+3+...+n -47/67_算法


6. 在java中,我们对于boolean的每一个部分都需要有一个判断的条件,否则会报错。boolean x = n > 1 && (n += Sum_Solution(n - 1)) > 0;

3. 题目代码

public static int Sum_Solution(int n) {
		boolean x = n > 1 && (n += Sum_Solution(n - 1)) > 0;
		return n;
	}


标签:return,int,47,Sum,Solution,boolean,67,题目,+...+
From: https://blog.51cto.com/u_16127529/6340846

相关文章

  • 【剑指offer】- 数组中重复的数字 -48/67
    1.题目描述在一个长度为n的数组nums里的所有数字都在0~n-1的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例1:输入:[2,3,1,0,2,5,3]输出:2或32.题目分析此题考查的是面试者的沟通能力,......
  • 力扣 647. 回文子串
    647.回文子串给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目。回文字符串 是正着读和倒过来读一样的字符串。子字符串 是字符串中的由连续字符组成的一个序列。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。示......
  • 【2023.03.20】P4710 「物理」平抛运动
    题目传送门:【洛谷】P4710[物理]平抛运动Step1:前置芝士您需要知道并了解以下芝士:数学:三角函数;物理:加速度公式;位移公式;那么如果您并不了解以上芝士,那么请继续向下看;如果您已经掌握以上芝士,那么请跳至“Step2”。三角函数讲解:注意,本题为物理题解,故不会放出......
  • CVE-2022-22947
    #CVE-2022-22947:SpringCloudGateway远程代码执行importrequestsimportjsonimportsysimportbase64importargparseimportreurl1='/actuator/gateway/routes/hacktest'url2='/actuator/gateway/refresh'url3='/actuator/gateway/routes/......
  • P1747 单调不降序列中与x最接近元素
    #include<iostream>usingnamespacestd;intarr[100010];intmain(){intn;cin>>n;inti;for(i=1;i<=n;i++){cin>>arr[i];//输入非降序列}intm;cin>>m;while(m--)......
  • MT6753 (MTk6753)核心板 4G全网通八核安卓开发板
    MT6753(MTk6753)是一款安卓核心板,采用八核Cortex-A53(64Bit)1.3GHZCPU,支持安卓5.1/6.0操作系统,是全球第一款64位8核高性能的4G全网通安卓智能模块。除了支持2G/3G/4G移动、联通、电信等多种网络制式,还支持WiFi/BT/GNSS(GPS/Beidou)/FM。该模块具有丰富的数据接口,包括LCM、C......
  • 代码随想录算法训练营第11天 | ● 20. 有效的括号 ● 1047. 删除字符串中的所有相邻重
     第五章 栈与队列part02今日内容:  ●  20. 有效的括号●  1047. 删除字符串中的所有相邻重复项●  150. 逆波兰表达式求值  详细布置   20. 有效的括号  讲完了栈实现队列,队列实现栈,接下来就是栈的经典应用了。  大家先自己思考一下 有......
  • 代码随想录算法训练营第13天 | ● 239. 滑动窗口最大值 ● 347.前 K 个高频元素 ● 总
     第五章 栈与队列part03今日内容:  ●  239. 滑动窗口最大值●  347.前 K 个高频元素●  总结  详细布置    239. 滑动窗口最大值 (一刷至少需要理解思路) 之前讲的都是栈的应用,这次该是队列的应用了。 本题算比较有难度的,需要自己去构造......
  • 代码随想录算法训练营第十三天|239. 滑动窗口最大值、347. 前 K 个高频元素
    【参考链接】239.滑动窗口最大值【注意】 1.使用单调队列的经典题目。2.大顶堆每次只能弹出最大值,无法移除其他数值,造成大顶堆维护的不是滑动窗口里面的数值了。所以不能用大顶堆。3.需要一个队列,放进去窗口里的元素,然后随着窗口的移动,队列也一进一出,每次移动之后,队列告诉......
  • hdu 4758 Walk Through Squares(AC自动机+DP,4级)
    WalkThroughSquaresTimeLimit:4000/2000MS(Java/Others)    MemoryLimit:65535/65535K(Java/Others)TotalSubmission(s):234    AcceptedSubmission(s):58ProblemDescription  Onthebeamingdayof60thanniversaryofNJUST,asamilitary......