自己怎么做网站首页,做企业网站有效果吗,做外贸用什么网站比较好,网站开发需要的学历题目描述#xff1a; 求123...n#xff0c;要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句#xff08;A?B:C#xff09;。 解题思路#xff1a; 1#xff09;利用的短路特性 2) 利用sizeof特性#xff0c;使用公式n(n1)/2 …题目描述 求123...n要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句A?B:C。 解题思路 1利用的短路特性 2) 利用sizeof特性使用公式n(n1)/2 3利用构造函数求解 先定义一个类型然后创建n个该类型的实例那么这个类型的构造函数将被调用n次。将累加的代码放到构造函数中。 4利用虚函数求解 测试用例 1) 边界值输入0和1 2) 功能测试n5,n10 代码 1的短路特性 复杂度O(n) 1 1 class Solution {2 2 public:3 3 int Sum_Solution(int n) {4 4 int ans n;5 5 n (ans n Sum_Solution(n - 1)); //即逻辑与拥有短路特性。左侧为false则右侧的表达式不执行6 6 return ans;7 7 }8 8 };9
10 Code01 View Code 缺点递归的层数不能太深3000 2sizeof特性使用公式n(n1)/2 1 1 class Solution {
2 2 public:
3 3 int Sum_Solution(int n) {
4 4 bool a[n][n1]; //不行int(四字节)short(2字节)
5 5 //char a[n][n1]; //可以char(1字节)
6 6 return sizeof(a)1; //右移等价于除以2
7 7 }
8 8 }; Code02 3) 利用构造函数 1 class Unit{2 public:3 Unit(){N;SumN;}4 static void reset(){N0;Sum0;} //static5 static unsigned int GetSum(){return Sum;} //static6 private:7 static unsigned int N;8 static unsigned int Sum;9 };
10
11 unsigned int Unit::N 0; //一般在类外初始化类内也不会报错
12 unsigned int Unit::Sum 0; //类外不用在加static
13
14 class Solution {
15 public:
16 int Sum_Solution(int n) {
17 Unit::reset();
18 Unit *p new Unit[n];
19 int res Unit::GetSum();
20 delete[] p;
21 pnullptr;
22 return res; //return Unit::GetSum();
23 }
24 }; Code03 注意 「1」局部static对象在第一次使用前分配在程序结束是销毁。并不是在局部作用域结束是销毁。 「2」动态分配的对象的生存期与它们在哪里创建是无关的只有当显式地被释放时这些对象才会销毁。即必须被显示销毁局部作用域并不会自动销毁 「3」静态内存用来保护局部static对象、类static数据成员、以及定义在任何函数外的变量。编译器创建程序结束时销毁不受局部作用域控制。 栈内存用于保存定义在函数内的非static对象。仅在定义的程序运行的时候才存在局部作用域。 自由空间堆内存存储动态分配的对象。必须显示销毁。 「4」new默认情况下是默认初始化即内置对象或组合型对象的值是为定义的而类类型对象将使用默认构造函数进行初始化 string *ps new string; //初始化为空的字符串 int * pi new int; //pi指向一个未初始化的int 可使用值初始化int * pi new int(); z值初始化为0。 也可以传入参数int * pi new int(1024); 或列表初始化 vectorint *pv new vectorint{0,1,2,3,4,5,6,7,8,9}; 「5」delete接受对象为指针类型 当其释放一块非new创建的内存或者将相同的指针指向同一块内存的指针释放多次其行为是未定义的。 「6」当程序用光了可用内存new表达式会失败默认情况抛出std::bad_alloc异常。 阻止抛出异常 int *p new (nothrow) int; //如果失败返回空指针。 4) 利用虚函数求解 基础知识补充 转载于:https://www.cnblogs.com/GuoXinxin/p/9960740.html