求1+2+3+...+n,要求不能使用乘除法,for,while,if,else,switch,case等关键字以及条件判断语句

求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) 第一种方法: class assist{ public: assist() {N++;sum += N;} static void reset(){N=0;sum=0;}//在VS中不需要此调用函数也可以(不进行多加一次) static... 阅读详情

方法一:利用构造函数和静态数据成员

[cpp]  view plain copy
  1. #include <iostream>  
  2. using namespace std;  
  3.   
  4. class Temp  
  5. {  
  6. public:  
  7.     Temp()  
  8.     {  
  9.         ++N;  
  10.         Sum+=N;  
  11.     }  
  12.   
  13.     static void Reset()  
  14.     {  
  15.         N=0;  
  16.         Sum=0;  
  17.     }  
  18.   
  19.     static int GetSum()  
  20.     {  
  21.         return Sum;  
  22.     }  
  23. private:  
  24.     static int N;  
  25.     static int Sum;  
  26. };  
  27.   
  28. int Temp::N=0;  
  29. int Temp::Sum=0;  
  30.   
  31. int solution_Sum(int n)  
  32. {  
  33.     Temp::Reset();  
  34.   
  35.     Temp *a=new Temp[n];  
  36.     delete []a;  
  37.     a=0;  
  38.   
  39.     return Temp::GetSum();  
  40. }  
  41.   
  42. int main()  
  43. {  
  44.     cout<<solution_Sum(100)<<endl;  
  45.     return 0;  
  46.   
  47. }  

方法二:利用虚函数

[cpp]  view plain copy
  1. #include <iostream>  
  2. using namespace std;  
  3.   
  4. class A;  
  5. A* Array[2];  
  6.   
  7. class A  
  8. {  
  9. public:  
  10.     virtual int Sum(int n)  
  11.     {  
  12.         return 0;  
  13.     }  
  14. };  
  15.   
  16. class B:public A  
  17. {  
  18. public:  
  19.     virtual int Sum(int n)  
  20.     {  
  21.         return Array[!!n]->Sum(n-1)+n;  
  22.     }  
  23. };  
  24.   
  25. int solution2_Sum(int n)  
  26. {  
  27.     A a;  
  28.     B b;  
  29.     Array[0]=&a;  
  30.     Array[1]=&b;  
  31.   
  32.     int value=Array[1]->Sum(n);  
  33.   
  34.     return value;  
  35. }  
  36.   
  37. int main()  
  38. {  
  39.     cout<<solution2_Sum(100)<<endl;  
  40.     return 0;  
  41. }  

利用函数指针

[cpp]  view plain copy
  1. #include <iostream>  
  2. using namespace std;  
  3.   
  4. typedef int (*fun)(int);  
  5.   
  6. int solution_f1(int i)  
  7. {  
  8.     return 0;  
  9. }  
  10.   
  11. int solution_f2(int i)  
  12. {  
  13.     fun f[2]={solution_f1, solution_f2};  
  14.     return i+f[!!i](i-1);  
  15. }  
  16.   
  17. void main()  
  18. {  
  19.     cout<<solution_f2(100)<<endl;  
  20. }  


 


三。利用&&的短路特性

[cpp]  view plain copy
  1. #include <stdio.h>  
  2. #include <stdlib.h>  
  3. #include <string.h>  
  4.   
  5. int add_fun(int n, int &sum)  
  6. {  
  7.     n && add_fun(n-1, sum);  
  8.     return (sum+=n);  
  9. }  
  10.   
  11. int main()  
  12. {  
  13.     int sum=0;  
  14.     int n=100;  
  15.   
  16.     printf("1+2+3+...+n=%d\n",add_fun(n, sum));  
  17.   
  18.     return 0;  
  19. }  
智能汽车嘚啵嘚 --- 智能座舱第七稿:智能座舱的升级OTA 阅读详情

相关推荐

避免踩坑!杰理AC63蓝牙名修改常见问题及解决方案(含BLE后缀处理)

本文详细解析了杰理AC63蓝牙设备名称修改的全过程,包括基础操作、BLE后缀处理及高级调试技巧。针对蓝牙名修改中的常见问题,提供了实用的解决方案和代码示例,帮助开发者避免踩坑并实现高效定制。

q6r7s8t9的博客 410

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

1.求 1+2+…+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 示例 1: 输入: n = 3 输出: 6 示例 2: 输入: n = 9 输出: 45 2.代码展示 int sumNums(int n) { n&&(n+=sumNums(n-1)); return n; } 3.思路分析...

qq_41152046的博客 636

STM32H7串口DMA避坑指南:如何解决RT-Thread默认驱动不支持的问题

本文针对STM32H7在RT-Thread系统中启用串口DMA时遇到的驱动不支持问题,提供了详细的解决方案。通过分析问题根源,指导修改驱动代码以适配H7的DMA Stream架构,并调整内存配置确保DMA可访问性,最终实现稳定高效的串口DMA通信。

weixin_29179311的博客 424

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

今天在牛客网上遇到这样一道题目,求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C) 一般大家在看到这种题目的时候是完全没有头绪的,但是我们可以从多方面进行思考,首先我们应该想到的是递归,但是不能用if等条件判断语句,无法判断递归出口让大家很头疼。于是本题的切入点就是如何判断递归出口,我们可以用位运算来解决。 ...

zw_ss 913

学习笔记——神经科学的数学基础

m%3D2X_%7Bi%7DiNy%3DAxW%3DABx_%7Bj%7Dy_%7Bi%7Dy%3DWxt=N7T8卷积神经网络(CNN)详细介绍及其原理详解_IronmanJay的博客-优快云博客https://blog.csdn.net/IronmanJay/article/details/128689946?

zxyopenstar的博客 1374

3D Slicer + MONAI Bundle实战:如何用Wholebrainseg模型快速分割133个脑区(附避坑指南)

本文详细介绍了如何利用MONAI Model Zoo中的Wholebrainseg模型,在3D Slicer环境中高效分割133个脑区。文章重点提供了数据预处理、GPU推理加速及结果精修等实战技巧与避坑指南,旨在帮助医学影像研究者和开发者提升全脑分割的精度与效率。

310

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

面试题64:求1+2+...+n 1.题目描述 题目:求1+2+…+n,要求不能使用乘除法、for,while,if,else,switch,case等关键字及条件判断语句(A?B:C) 2.题目分析 通常求1+2+...+n除了用公式n(n+1)/2,无外乎循环和递归两种思路。由于已经明确限制for和 while的使用,循环已经不能再用了。递归函数也需要用if语句或者条件判断语句来判断是继续递归下去还是终止递归,但现在题目已经不允许使用这两种语句了。 解法一:利用构造函数求解 循环只是让相同的

ThinPikachu的博客 1374

别再拿空气标定法糊弄了!手把手教你搞定水下相机标定(附Python代码)

本文详细解析水下相机标定的关键技术,揭示传统空气标定法失效原因,并提供基于单视点模型(SVP)的完整Python解决方案。通过折射效应分析、标定板设计优化和代码实战演示,帮助读者掌握水下标定核心方法,有效提升水下视觉系统测量精度。

weixin_30530939的博客 208

LeetCode 剑指 Offer 64. 求1+2+…+n

n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?此算法时间复杂度为O(n),空间复杂度为O(n)。此算法时间复杂度为O(n),空间复杂度为O(n)。此算法时间复杂度为O(n),空间复杂度为O(n)。此算法时间复杂度为O(n),空间复杂度为O(n)。此算法时间复杂度为O(1),空间复杂度为O(1)。此算法时间复杂度为O(n),空间复杂度为O(n)。解法六:利用数组大小,根据求和公式。

tus00000的博客 899

Plant Simulation新手入门:5步搞定生产线物流仿真(附模型库使用技巧)

本文为Plant Simulation新手提供了从零开始构建生产线物流仿真的五步入门指南。通过理念重塑、流程规划、对象连接、参数设置到数据分析的完整流程,帮助用户快速掌握这一强大仿真工具的核心逻辑。文章特别强调了模型库的高效使用技巧,助力工程师在虚拟环境中精准模拟和优化生产系统,提升规划效率。

efc123456的博客 333

01 - 什么是SVM

摘要:SVM(共享虚拟内存)技术使CPU和GPU能共享同一虚拟地址空间,简化异构计算编程。传统模型需手动管理CPU/GPU内存和拷贝数据,而SVM允许直接传递指针,自动处理页面迁移和一致性维护。其核心包括统一地址空间、按需迁移、页面故障处理和一致性管理,显著降低编程复杂度并提升性能。通过HMM框架、MMU通知和GPU页面异常等机制实现高效内存共享,支持复杂数据结构,为异构计算带来便利。

图形/计算GPU的驱动与虚拟化技术分享园地 3123

【OJ - 基础数学】求1+2+3+...+n(不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句)

文章目录OJ - 求1+2+3+...+n解题思路 OJ - 求1+2+3+…+n 题目难度:中等 OJ链接:求1+2+3+…+n__牛客网 (nowcoder.com) 题目描述: 求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 数据范围: 0 < n ≤ 200 进阶: 空间复杂度 O(1),时间复杂度 O(n) 示例1: 输入:5 返回值:15 示例2: 输入:1 返回值:1 解题思路 不能

codewinter的博客 2011

YOLO11检测中的内存占用分析与优化:讲解如何分析并优化推理时的内存使用

YOLOv11模型内存分析与优化摘要:本文系统分析了YOLOv11目标检测模型的内存使用模式,重点探讨了显存(VRAM)、系统内存(RAM)和共享内存的特性差异。通过PyTorch内置工具和自定义分析器,详细剖析了骨干网络、颈部网络和检测头各组件内存占用规律,指出激活值内存与输入尺寸呈平方级增长关系。文章提供了卷积层内存计算公式,并强调合理规划"工作台"(显存)与"仓库"(内存)间的数据流动是优化关键。最后通过流程图直观展示了YOLOv11推理过程的三类内存使用模式,

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 343

【C++经典例题】求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句

这道题目要求计算从1到n的整数和,但禁止使用一系列常见的编程构造和关键字,如乘除法、循环语句(for、while)、条件判断语句(if、else、switch、case)以及三元运算符(A?B:C)。这是一个有趣的挑战,需要利用一些编程技巧来绕过这些限制。

倔强的石头的博客 3439

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

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

1. 问题描述 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 2. 可以使用公式方法 1 + 2 + 3 + ... + n = (n + 1)n / 2 public class Solution { public int Sum_Solution(int n) { ...

assiduous_me的博客 1314

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

求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)。   分析过程:求和居然不让用乘除法,也不准我们用循环,如果单独这两个限制的话还好,我们还可以用地递归,例如: public int f(int n){ if(n == 0){ return 0; }else{ return f(n -...

JustinNeil的博客 706

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

C++不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句求1+2+3+...+n的累加和

class Solution { public: //创建一个内部类 class summer{ public: summer(){ //内部类可以访问外部类私有成员 _sum += _num; ++_num; } }; int Sum_Solution(int n) { _sum = 0; _num = 1;

loreal8的博客 373

求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) 解析:解决这道题的方法有好几种,这里只提供最好理解的这一种,通过构造对象,让静态变量进行累加,在构建完所有对象后返回静态变量的值,就是累加的和。 #include <iostream> using namespace std; class Sum...

Thinker_serious的博客 653

【九度1506】求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)。 输入: 输入可能包含多个测试样例。 对于每个测试案例,输入为一个整数n(1 输出: 对应每个测试案例, 输出1+2+3+…+n的值。 样例输入: 3 5

雪水 5678

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

方法一:递归,O(n)的复杂度(利用运算符短路模拟if) int Sum_Solution(int n) { int a = 1; n > 1 && (a = n + Sum_Solution(n - 1)); return a; } int main() { cout << Sum_Solution(100); system("pause"); ...

canvasa的博客 136

求 1+2+3+..n不能使用乘除法、 for 、 while 、 if 、 else 、 switch 、 case 等关键字以及条件判断语句

public class NoIfWhile { /** * @param args * 求 1+2+3+..n不能使用乘除法、 for 、 while 、 if 、 else 、 switch 、 case 等关键字以及条件判断语句 * find x=1+2+3+....n */ public static void main(St

zjcheer_up的专栏 903

求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)。 这题,乍一看,什么傻逼题目,怎么会有这种玩意??? 不过,仔细一想,人家能出这种题的肯定是有解决方法的,所以这题还是挺有作头的,奥利给,干就完了 下面附上解决方法和代码: 想法呢,其实也不难理解,就是由于题目限制了循环那些关键字,但是题目又很明显需要用到递归来操作,所以我们需要找到其他的递归方法 这个抛弃了循环及if判断等关键字的递归方法就是我们今天的主角“ &

weixin_43520256的博客 467

Java求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句

题目描述 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 public class Solution { /** * * 解题思路: * 1.需利用逻辑与的短路特性实现递归终止。 * 2.当n==0时,(n>0)&&((sum+=Sum_Solution(n-1))>0)只执行前面的判断,为false,然后直接返回0;.

luzhensmart的专栏 789
上一篇: iostate知识要点
下一篇: 什么是超平面
Savitch
博客等级 码龄16年 84粉丝 130原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值