c++中求前n项和(这代码不得不让我佩服)

  今天在牛客网上刷题,遇到了这道题,最后我看到一位大佬的代码让我感觉的还差很多!!!

题目

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

  对于求前N 项和这种题我们在中学时代就已经很熟悉了,公式有很多,像这种递增的在数学中套公式就好:Sn = n x(n-1)/ 2 就完事了,在C++中用一个循环就可以解决了
  但是这道题目要求的是“不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)”,这就要不是那么容易了
  通常都会使用按位与递归去写这个程序,
思路为:

  1. 需利用逻辑与的短路特性实现递归终止。
  2. 当n==0时,(n>0)&&((sum+=Sum_Solution(n-1))>0)只执行前面的判断,为false,然后直接返回0
  3. 当n>0时,执行sum+=Sum_Solution(n-1),实现递归计算Sum_Solution(n)。
class Solution {
public:int Sum_Solution(int n) {int ans=n;ans && (ans = n + Sum_Solution(n - 1));return ans;}
};

  但是下面这位仁兄的代码让我感到很新奇,几乎很少有人会想到在这里插入图片描述
这个代码充分的将矩阵和前n项和的公式“n(a1+an)/2”融合

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/494991.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Arduino和HC-SR04的超声波测距系统设计

本文介绍了如何使用Arduino和HC-SR04超声波传感器设计并构建一个简单的超声波测距系统。我们将详细讨论硬件连线和编程步骤,并提供完整的Arduino代码。此系统可以应用于各种需要测量距离的项目,例如智能车辆、机器人和安防系统。 引言: 超声…

中国AI企业吸金旺但90%亏损 今年将迎倒闭潮

来源:网易智能摘要: 据报道,自2017年人工智能成为国家战略目标后,相关产业迎来飞速发展机遇,更成为全球吸金能力最强的产业之一。2017全年,大陆AI企业的融资总额已占到全球的7成,但其背后的隐忧…

在窗口间移动按扭

// 在窗口间移动按扭 procedure TForm1.Button1Click(Sender: TObject);begin if Button1.ParentForm1 then begin button1.Caption:单击返回; Button1.Parent:Form2; Button1.Left : 232; Button1.Top : 88; end else begin …

不用加减乘除算加法

题目 写一个函数,求两个整数之和,要求在函数体内不得使用、-、*、/四则运算符号。 思路 (一)首先看我们平时的十进制是如何做的: 65 ,三步曲!!! 相加各位的值&#xf…

《Nature》纪念人工智能60周年专题:深度学习综述

来源:网络大数据摘要:本文是《Nature》杂志为纪念人工智能60周年而专门推出的深度学习综述,也是Hinton、LeCun和Bengio三位大神首次合写同一篇文章。本文是《Nature》杂志为纪念人工智能60周年而专门推出的深度学习综述,也是Hinto…

oss/bss/mss转自搜搜百科

BSS:Business support system 业务支撑系统 OSS:Operation support system 运营支撑系统 MSS:Management Support System 管理支撑系统 (前二者又合称 BOSS:Business and Operation support system ,电信业务运营支持系统)在 企业(特别在是电信行业)IT 战略规划中占据了重要地…

模拟实现string其中的一些知识点

知识点列举 使用初始化列表的好处拷贝构造的形参为&与值的区别深拷贝与浅拷贝使用&的好处形参使用const引用的好处 使用初始化列表的好处 类成员中存在常量,如const int a,只能用初始化不能复制类成员中存在引用,同样只能使用初始化不能赋值。…

对抗性攻击轻松愚弄人工智能

对抗性攻击欺骗图像识别算法将3D打印乌龟认作步枪。来源:中国科学报摘要:在日前于瑞典斯德哥尔摩举行的国际机器学习会议上,一群研究人员描述了他们的3D打印乌龟。在日前于瑞典斯德哥尔摩举行的国际机器学习会议上,一群研究人员描…

浅谈C语言指针

什么是指针? 在计算机科学中,指针(Pointer)是编程语言中的一个对象,利用地址,它的值直接指向存在电脑存储器中的另一个地方的值。由于通过地址能找到所需的变量单位,可以说,地址指向…

转:EXCEL数据有效性设置

原文: http://hi.baidu.com/guosq/blog/item/88b37cd5bd367cfda144dfa0.html 先看图,有学生成绩表格,录入要求: 1. 成绩范围: 0 - 100; 2. 课程:只能是语文、数学、英语。 操作步骤:…

科学家绘制果蝇完整大脑高清图—可借此追踪任何两个神经元之间的连接

研究人员利用电子显微镜重建了果蝇的一系列神经元。来源:中国科学报科学家近日首次对黑腹果蝇的整个大脑进行了足够详细的成像,从而能探测每个神经元之间的单独连接,或者说突触。由此获得的图像数据库可帮助研究人员描绘支撑果蝇嗅闻、嗡嗡叫…

浅谈野指针

什么是野指针? 野指针并不是NULL指针,它是一个指向“垃圾”内存的指针,也就是说指向的地址是随机的,无法得知他的地址,操作系统自动对其进行初始化。   在计算机中,内存的分配由操作系统来管理&#xff0…

转: Linux下单网卡多vlan多虚拟机

#启动xen服务:xend start#列出虚拟机xm list#startxm create -c 虚拟机名#进入虚拟机xm console 虚拟机名#退出虚拟机ctrl]#关闭xm shutdown linux bridge实现了ieee 802.1d协议,这个实现,不能支持VLAN的功能。也就是说,这个实现&…

谈谈 Android 有多成功!欧盟这么罚它

选自 | Stratechery 作者 | Ben Thompson 编译 | 网易智能 参与 | 乐邦西方知名科技博主本汤普森(Ben Thompson)近日发布题为“欧盟VS Android”的文章,称谷歌固然有其违法的地方,但欧盟剥夺谷歌从其冒着高风险斥资数十亿美元开发…

VSS 错误链接

VSS服务器没有开(或者链接不上、共享断开等情况),vs工程打开会提示你找不到VSS数据库,不小心点错了位置,结果VS链接不上VSS了,老是提示如下错误:VSS出项错误"Could not find the Visual So…

算法的五大特性

输入(Input) 算法可以有0个或多个输入,用来说明对象的初始值,其中的0的输入的意思是指算法自己已经定出了初始条件 输出(Output) 算法中必须有1或多个输出,因为输出是用来说明数据处理后的结果…

《纽约时报》评中国技术热潮:追捧“上菜机器人”等无意义的新奇产品

来源:纽约时报编译:全球技术地图上海的机器人魔力餐厅里的非人类服务员只能做到这一步。在食客们拍完照片和视频后,常规的服务员会上前进行服务。上海——能读人想法的耳机什么都没读出来。检测火灾的机器人已被宣布为安全隐患。机器人服务员…

运算符的优先级(Operator Precedence)总结(表)

概念 在一个表达式中可能包含多个有不同运算符连接起来的、具有不同数据类型的数据对象;由于表达式有多种运算,不同的结合顺序可能得出不同结果甚至出现错误运算错误,因为当表达式中含多种运算时,必须按一定顺序进行结合&#xff…

队列 VS 堆栈

队列,又称为伫列(英文queue),是先进先出(FIFO, First-In-First-Out)的线性表。在具体应用中通常用链表或者数组来实现。队列只允许在后端(称为rear)进行插入操作,在前端&…

10家最具创新性的机器学习公司

来源:资本实验室摘要:机器学习是实现人工智能的一种方法,通过使用算法来解析数据、从中学习,然后对现实世界中的事件做出预测和判断。机器学习已经在各个行业得到广泛应用。近日《Analytics Insight》杂志评选出10家最具创新性的机…