- 博客(17)
- 收藏
- 关注
原创 2.动态规划:网格路径、最大路径和、树塔拓展、全数字的乘积
动态规划动态规划Euler 15 网格路径Euler 18 最大路径和 I树塔拓展Euler 32 全数字的乘积动态规划Euler 15 网格路径#include <iostream>using namespace std;//动态规划?long long cnt[21][21];int main() { for (int i = 0; i < 21; i++) { cnt[i][0] = 1; cnt[0][i] = 1; } for (int i =
2021-08-06 13:39:21 579
原创 1.连续数字的最大乘积、方阵中的最大乘积、最长考拉兹序列、1000位斐波那契数
Euler8731671765313306249192251196744265747423553491949349698352031277450632623957831801698480186947885184385861560789112949495459501737958331952853208805511125406987471585238630507156932909632952274430435576689664895044524452316173185640309871112172
2021-08-05 20:31:21 104
原创 动态内存分配和类的模板的应用
C++模板浅学习动态内存分配复习C++模板动态内存分配复习 构建数组的时候总为空间给大了而造成不必要的浪费或是空间给小了而不够用的烦恼,因此会想出如下办法解决:int n;cin >> n;int a[n]; 但是如上代码在有些编译器上编译不过去。因此使用动态内存分配(在堆上开辟空间)可以解决这些问题。C语言提供了malloc,C++提供了new,而new可以构造对象。 new动态分配内存的语法: new 数据类型(初始化参数列表) 动态分配内存常见方式:(1)单
2021-07-05 12:36:55 356
原创 C++中通过lambda表达式进行函数式编程
数一个Vector里的偶数的个数和奇数的个数函数指针写法int Count(vector<int>& numbers, bool (*filter)(int)) { int cnt = 0; for (int x : numbers) { if (filter(x)) cnt++; } return cnt;}bool Odd(int x) { return (x & 1) == 1;}b
2021-07-04 08:55:59 357
原创 数组与素数筛法
《C语言程序设计》笔记8数组与预处理命令有关数组知识的补充素数筛数组与预处理命令有关数组知识的补充不论是几维数组,在计算机中的存储都是连续的。函数内部在栈区开辟的数组里面的值不一定是“干净的”即不都为0,因此最好是初始化一下:int a[2] = {0},,而int b[2] = {1},则是int b[0] = 1,而已,要想全赋值为相同的数的话就得用memset,初始化为0的那样一种方式是一个特例。函数外部在堆区开辟的数组里面一定是“干净的”。素数筛标记(利用数组)一个范围内的数字是
2021-04-19 21:22:39 100
原创 变参函数与简版printf函数的实现
《C语言程序设计》笔记7变参函数变参函数的应用求一系列数字的最大值自制printf函数变参函数形如int max_int(int a, …);参数列表中含有变参列表“…”(这不是省略号),a是…变参列表中参数的个数变参列表的实现是借助va一族:“函数”功能va_list获得a往后的参数列表va_start定位a后面第一个参数的位置va_arg获取下一个可变参数列表中的参数va_end销毁list,结束整个获取可变参数列表的动作以上不是严格意义
2021-04-18 22:34:49 111
原创 函数指针与二分查找算法
《C语言程序设计》笔记5函数指针指针函数的应用PE-45折半查找 (二分查找)PE-45分析与解答函数指针int g(int (*f1)(int), int (*f2)(int), int (*f3)(int), int x) { if (x < 0) { return f1(x); } if (x <100) { return f2(x); } return f3(x);}观察以上的g函数可以发现它将函数作为变
2021-04-18 19:05:29 293
原创 函数
《C语言程序设计》笔记4K&R 风格的函数定义递归程序计算机内部的空间分配K&R 风格的函数定义int is_prime(x)int x;{ for (int i = 2; i * i <= x; i++) { if (x % i == 0) return 0; } return 1;}这是一个上古的函数定义,只用看得懂就行了。递归程序程序调用自身的编程技巧叫做“递归”。递归的组成部分:1.边界条件处理;2.针对于问
2021-04-18 17:37:53 165
原创 程序流程控制方法
《C语言程序设计》笔记3C语言关系运算符分支结构if语句switch语句CPU的分支预测以“回文整数”为实例回文数字的应用CPU工作原理while循环和for循环补充内容1:逻辑运算的短路原则补充内容2:随机数字C语言关系运算符运算符说明==等于!=不等于>、<大于、小于<=(=<)、>=(=>)小于等于、大于等于!非任何一个表达式都有一个逻辑返回值:如a == b存在一个逻辑返回值1或0;如a = 3这个
2021-04-18 13:59:22 216
原创 数学运算
《C语言程序设计》笔记2位运算C语言基本运算符位运算符的应用头文件math.h下的一些函数数学函数的简单应用位运算C语言基本运算符运算符说明=赋值运算符+ - * / ()基本四则运算%求余运算符或运算符 & ^ ~位运算>> <<左移和右移位运算符的应用减法是加法的逆运算:a + b = c → c - b = a, c - a = b(由a可以推出b,由b也可以推出a);但反过来加法不是减法的逆运算;
2021-04-11 20:25:22 83
原创 C语言入门基础
《C语言程序设计》笔记1C++的4种编程范式1.面向过程2.面向对象3.泛型编程4.函数式编程最最最常用的函数的补充1.printf函数2.scanf函数scanf的应用3.两个变参函数的应用两个变参函数的“姐妹函数”1.sscanf和sprintf2.fscanf和fprintf3.这四个函数的具体应用辅助阅读工具书参考网址C++的4种编程范式1.面向过程面向过程是C语言唯一的编程范式。所以课设中要用到流程图来表示过程面向过程的最小单元即函数(显而易见)用C语言进行操作系统的底层开发(如闭源U
2021-04-02 20:06:07 77
原创 数据结构复习笔记——专题二 栈与队列1(1)
栈栈的理论概念定义限定只能在表的一端进行插入和删除运算的线性表(只能在栈顶操作)逻辑结构与同线性表相同,仍为一对一关系。存储结构用顺序栈或链栈存储均可,但以顺序栈更常见运算规则只能在栈顶运算,且访问结点时依照后进先出(LIFO)的原则。实现方式关键是编写入栈和出栈函数,具体实现依顺序栈或链栈的不同而不同。栈的直观理解可以把栈理解为一个箱子,而箱子的容量仅供一本书放入或拿出。每次可以把一本书放在箱子的最上方,也可以把箱子最上方的书拿出,如图所示:在图中,依次把1、2、3
2021-02-12 11:10:54 263
原创 C/C++查漏补缺——一个递归的例子
来源:https://www.dotcpp.com/oj/problem1004.html题目 1004: [递归]母牛的故事时间限制: 1Sec 内存限制: 128MB题目描述有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?输入输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0<n<55),n的含义如题目中描述。n=0表示输入数据的结束,不做处理。输出对于每个测试实例,输出在第n年
2021-02-10 00:43:35 188
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人