生成函数

Myapp

对着背影说爱祢 提交于 2019-12-01 14:05:40
一、github地址:https://github.com/jianghailing/rjgcsecondwork 二、PSP表格: PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 30 40 · Estimate · 估计这个任务需要多少时间 30 35 Development 开发 1000 1130 · Analysis · 需求分析 (包括学习新技术) 60 60 · Design Spec · 生成设计文档 40 40 · Design Review · 设计复审 (和同事审核设计文档) 20 20 · Coding Standard · 代码规范 (为目前的开发制定合适的规范) 30 30 · Design · 具体设计 60 80 · Coding · 具体编码 1000 1350 · Code Review · 代码复审 30 40 · Test · 测试(自我测试,修改代码,提交修改) 60 90 Reporting 报告 40 40 · Test Report · 测试报告 30 30 · Size Measurement · 计算工作量 20 20 · Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 30

cocos2d-x 系统学习cocos(1)

时光毁灭记忆、已成空白 提交于 2019-12-01 13:44:47
简析HelloWorld场景 以前使用cocos2d-x 3.14的时候,HelloWorld并不是一个场景类,而是一个图层类,当时的HelloWorld::createScene()是长这样的 Scene* HelloWorld::createScene() { auto scene = Scene::create(); auto layer = HelloWorld::create(); scene->addChild(layer); return scene; } 而现在的3.17的HelloWorld::createScene()长这样 Scene* HelloWorld::createScene() { return HelloWorld::create(); } 区别就是HelloWorld本身已经是一个场景了,不需要另外生成一个场景再将HelloWorld加到场景中作为子节点 HelloWorld的布局 HelloWorld场景中有一个cocos的logo,一个关闭按钮,一个HelloWorld的字样,这些小物体都是在HelloWorld::init()中生成的 基类的初始化 我们向HelloWorld场景添加东西之前,需要先调用基类Scene类的初始化函数,然后获得一下visibleSize和origin备用 bool HelloWorld::init() { if

结对项目(唐崇珂——谭艺)

孤街醉人 提交于 2019-12-01 13:35:13
一、Github与源代码 https://github.com/wuchengttt/hello-world 源代码 主函数 int main() {  //检测是否存在这两个文件,如果没有就新建 FILE *fp; fp = fopen("Exercises.txt", "w+"); fclose(fp); fp = fopen("Answers.txt", "w+"); fclose(fp); int range = 0; printf("请输入产生几以内的数字:"); scanf_s("%d", &range); printf("\n请输入产生多少个运算表达式:"); scanf_s("%d", &num); int right1 = 0; int wrong1 = 0; char(*result)[LENGTH] = (char(*)[LENGTH])malloc(sizeof(char)*LENGTH*num); int i; for (i = 1; i <= num; i++) {//随机生成四个数字 //char expArr[2];//定义生成的题目 int a = (int)(random(range));//分子 int b = (int)(random(range));//分母 int c = (int)(random(range));//另一个分子 int

生成函数求解一般递推数列通项公式

微笑、不失礼 提交于 2019-12-01 08:59:24
目录 写在前面 范例 - 对斐波那契通项公式的推导 对一般递推数列通项公式的推导 写在前面 本文解出的通项公式十有八九与使用特征根方程接触的在形式上不同,但是其正确性可以保证。 如有强迫症请自行化简。 范例 - 对斐波那契通项公式的推导 设生成函数 \[ A=1+x+2x^2+3x^3+5x^4+... \] 不难发现, \(i-1\) 项系数即为斐波那契数列第 \(i\) 项的值。 由于斐波那契数列递推式为 \[ F(i)=F(i-1)+F(i-2) \] 我们得到另外两个生成函数 \[ xA=x+x^2+2x^3+3x^4+5x^5...\\ x^2A=x^2+x^3+2x^4+3x^5+5x^6... \] 显然有 \[ A=xA+x^2A+1 \] 所以 \[ A=\frac{1}{1-x-x^2} \] 由于我们不知道二次形式如何化简,所以考虑转换为两个一次形式,即 \[ A=\frac{a}{1-\frac{1+\sqrt{5}}{2}x}+\frac{b}{1-\frac{1-\sqrt{5}}{2}x} \] 联立解得 \[ a=\frac{5+\sqrt{5}}{10}\\ b=\frac{5-\sqrt{5}}{10} \] 因为 \[ \frac{1}{1-kx}=1+kx+k^2x^2+... \] 所以得到 \[ A=\frac{5+\sqrt{5}}

TJOI 2015 概率论(生成函数)

泪湿孤枕 提交于 2019-12-01 07:46:44
题意 ​ 求一棵随机生成的有根二叉树(节点无标号,各种不同构的情况随机出现)叶子结点个数的期望。 思路 ​ 用生成函数做是个好题。 ​ 我们考虑设 \(n\) 个节点,所有不同构二叉树叶子结点的总和为 \(f_n\) 。首先, \(n\) 个节点的无标号有根二叉树种类数为 \(C_n\) ,其中 \(C_n\) 表示卡特兰数。那么递推式比较显然 \[ \begin{align} f_n&=\sum_{i=0}^{n-1}f_{i}C_{n-1-i}+f_{n-1-i}C_i\\ &=2\sum f_iC_{n-1-i} \end{align} \] 特别的 \(f_0=0, f1=1\) (求递推一定要考虑特殊情况,往往前面几项不满足递推)。 我们设数列 \(\{f_n\}\) 的生成函数为 \(F(x)\) , 数列 \(\{C_n\}\) 的生成函数为 \(G(x)\) 。 观察递推式,我们由卡特兰数递推的生成函数推导得到启发,可以将 \(F(x)\) 乘上 \(G(x)\) 。 \[ \begin{align} F(x)G(x)&=f_0C_0x^0+(f_0C_1+f_1C_0)x^1+(f_0C_2+f_1C_1+f_2C_0)x^2+\cdots\\ &=f_0C_0x^0+{f_2\over 2}x^1+{f_3\over 2}x^2+{f_4\over 2}x^3+

linux内核编译学习笔记

不打扰是莪最后的温柔 提交于 2019-11-30 22:44:27
linux内核由于庞大的代码量和复杂的代码结构,使用通用的makefile形式不仅存在很大的工作量,而且内核的可配置性不好,每次裁剪模块都需要深入到每一层的目录结构修改makefile,并不现实。所以linux提供了一套configure和makefile体系,根据config中的配置操作生成各个子目录下的makefile,决定哪些文件参与编译。内核本身包含了顶层makefile文件,该文件指示了通用的框架。而各个子目录下的makefile文件也不像传统的makefile文件编写格式,它们是结合scripts/目录下的一系列规则文件使用的,只需要指明需要参与编译的子目录/文件即可。在学习了解内核编译体系结构时,因之前基础薄弱,而且对makefile的语法并不熟悉,所以感觉晦涩难懂。后来学习参考同行的博客,对整个脉络有了整体的思路,对makefile体系架构有了更深的了解。 本文重点记录已经学习到的知识,从最终生成的image文件反推,一步一步看如何生成了image文件。首先需要知道,make命令肯定是要执行顶层目录下的makefile文件。 一、makefile文件系统结构 1、scripts/目录下的makefile规则文件 scripts目录下包含makefile规则文件。这些文件相当于制定了一套规则,会解析子目录下的makefile文件。由顶层makefile文件、

20190919-6 四则运算试题生成

▼魔方 西西 提交于 2019-11-30 12:31:22
此作业要求参见: https://edu.cnblogs.com/campus/nenu/2019fall/homework/7631 Git地址: https://e.coding.net/thiking/si_ze_yun_suan.git 结对队友:董亚辉 功能1. 四则运算 1.1功能描述 支持出题4个数的四则运算题目,所有题目要求作者有能力正确回答 (提示:1/3 != 0.33333333333333333333333333333333,而是无限长)为了快出成果,你快速造个控制台的版本,包括以后改版成更优秀界面的核心功能,并考虑到扩展。你在老师面前作如下表演 (数字你用excel验算过了,UI的卖萌部分你还没有想好) 。 1.2重难点   (1)如何随机产生计算符号,   (2)如何将式子进行拼凑,   (3)如何将产生的式子进行计算,   (4)如果计算结果产生的是小数如何转化为分数 1.3收获: 学习了eval函数给完成作业带来了很大的便捷。 1.4 代码片段: def creat_equation(): #功能一生成随机式子 ops = ['+', '-', '*', '/'] num1 = r(1, 9) #产生随机数 num2 = r(1, 9) num3 = r(1, 9) num4 = r(1, 9) ops1 = r(0, 2) ops2 = r(0,

宋晓丽 20190919-6 四则运算试题生成,结对

我怕爱的太早我们不能终老 提交于 2019-11-30 12:27:09
此作业的要求参见[ https://edu.cnblogs.com/campus/nenu/2019fall/homework/7631 ] 代码的git地址[ https://e.coding.net/sxl357/f4.git ] git地址下的功能1.py和功能1.exe用来完成功能1,f4.py和f4.exe用来完成功能2和功能3. 功能1 . 四则运算 支持出题4个数的四则运算题目,所有题目要求作者有能力正确回答 > f4 1+2*3+4= ?11 答对啦,你真是个天才! 1+2*3+5= ?11 再想想吧,答案似乎是12喔! 1+2/4-5= ?-3.5 答对啦,你真是个天才! ...(一共20道题) 你一共答对4道题,共20道题。重难点:1.给定一个运算式,如何让计算机算出结果?给定的运算式属于中缀表达式,将其改为后缀表达式,再计算结果。(1)中缀转后缀 #将中缀表达式转为后缀表达式 def make_Expression(s): operations=[] result='' front={'+':1,'-':1,'*':2,'/':2} for i in s: if i in ['+','-','*','/']:#判断是否是操作符 if len(operations)==0:#栈空,直接入栈 operations.append(i) elif front

php常用的内置函数

落爺英雄遲暮 提交于 2019-11-30 11:22:44
PHP常用函数手册判断一个编程语言的功能强弱,可以从他的库函数入手。一个较好的编程语言,必然有较强的库函数。 I/O函数 Flush 函数描述:flush(); 说明:函数Flush刷新PHP的输出缓存,它尽量将缓和存中的内容输出到用户的浏览器。 返回值:无 Print 函数描述:print(string arg,string[arg],…); 说明:函数print输入所有的参数。 返回值:若输出成功,返回true(1);否则返回false(0)。 Printf 函数描述:printf(string format,mixed[string]); 说明:函数printf根据所给格式format,输出string。格式以一个%开头,以一个字母结尾,该字母决定输出的数据类型。PHP的类型说明符如表所示。 PHP的类型说明符 类型说明符 说 明 b 输出二进制整数 o 输出八进制整数 x,X 输出十六进制整数,“x”使用小写字母,“X”使用大写字母 d 输出十进制整数 c 输出由整数ASCII代码说明的字符 s 输出字符串 f 输出浮点数 e 输出用科学计数法表示的浮点数 % 输出一个百分号 返回值:无 正规表达式函数 Ereg 函数描述:int ereg (string pattern ,string string ,array[regs]); 说明

面试官: 聊一聊Babel

你。 提交于 2019-11-30 09:34:09
点击关注本 公众号 获取文档最新更新,并可以领取配套于本指南的 《前端面试手册》 以及 最标准的简历模板 . 前言 Babel 是现代 JavaScript 语法转换器,几乎在任何现代前端项目中都能看到他的身影,其背后的原理对于大部分开发者还属于黑盒,不过 Babel 作为一个工具真的有了解背后原理的必要吗? 如果只是 Babel 可能真没有必要,问题是其背后的原理在我们开发中应用过于广泛了,包括不限于: eslint jshint stylelint css-in-js prettier jsx vue-template uglify-js postcss less 等等等等,从模板到代码检测,从混淆压缩到代码转换,甚至编辑器的代码高亮都与之息息相关. 如果有兴趣就可以搞一些黑魔法: 前端工程师可以用编译原理做什么? 前置 Babel 大概分为三大部分: 解析: 将代码(其实就是字符串)转换成 AST( 抽象语法树) 转换: 访问 AST 的节点进行变换操作生成新的 AST 生成: 以新的 AST 为基础生成代码 我们主要通过打造一个微型 babel 来了解 babel 的基本原理,这个微型 babel 的功能很单一也很鸡肋,但是依然有400行代码,其实现细节与 babel 并不相同,因为我们省去了很多额外的验证和信息解析,因为单单一个兼容现代 JavaScript 语法的