自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(50)
  • 收藏
  • 关注

原创 python求取20000以内亲密数对

原题:如果两个自然数a和b,a的所有因子(比a小且能整除a的自然数)之和恰好等于b,并且b的所有因子之和恰好等于a,则称a和b为一对亲密数。例如:220和284就是一对亲密数(amicable pair),因为,220的因子有:1,2,4,5,10,11,20,22,44,55,110,加起来等于284284的因子有:1,2,4,71,142,加起来正好等于220编写函数fa...

2019-05-26 11:47:23 3944

原创 ccf csp201712-2 游戏

问题描述  有n个小朋友围成一圈玩游戏,小朋友从1至n编号,2号小朋友坐在1号小朋友的顺时针方向,3号小朋友坐在2号小朋友的顺时针方向,……,1号小朋友坐在n号小朋友的顺时针方向。  游戏开始,从1号小朋友开始顺时针报数,接下来每个小朋友的报数是上一个小朋友报的数加1。若一个小朋友报的数为k的倍数或其末位数(即数的个位)为k,则该小朋友被淘汰出局,不再参加以后的报数。当游戏中只剩下一个小朋友时...

2019-04-02 23:56:45 518

原创 以模6加法群(Z6,+)认识循环群及其特点

 刚开始接触循环群不容易理解,不妨以模6加法群<Z6,+>入手,来认识循环群的特点。首先,循环群,顾名思义,cycle group即带有循环的意思。怎么个循环法呢?我们看<Z6,+>中的元素{0,1,2,3,4,5}。取其中的元素1,不停地对自身进行模6加法,即对本身进行幂运算。可得:1^1=11^2=1+1=21^3=1+1+1=31^4=1+...

2018-09-23 17:57:18 36466 19

原创 C语言递归实现二路归并排序

二路归并意即需要将一个数组分成两个有序部分再归并,分成的两个部分再各自分成两个部分并有序化后再归并,如此往复直到最后每个部分只有1个元素,自然就有序了。这里,我们可以先将一个数组分为两个部分--左半部分,右半部分。两个部分都有序化后,用另一个函数连接这两个部分。这样,最终就实现了二路归并。函数代码样例如下:其中,MergeSort是递归实现的,要调用子函数MergeArray,而MergeAr...

2018-08-15 04:56:27 3482

原创 KMP字符串匹配的原理与C代码实现

kmp的精华在于next数组,该数组存储了当子串与主串发生不匹配时应该调整的下标位置。对于next数组,直观来说就是当发生不匹配时,已经匹配的部分串里的前缀后缀的最大公共部分。以“abababca”为例,若在字符c处未匹配,已匹配部分ababab的前缀后缀最大公共部分为4,即abab;若在第二个b处发生不匹配,则最大公共部分为1,即a。若在第一个b处发生不匹配,则最大公共部分为0(最大公共部分不能...

2018-08-13 02:28:14 344

原创 二叉树的先序遍历,中序遍历,后序遍历的非递归C语言实现

栈的回顾在介绍几种遍历之前,先回顾下栈的概念,他是具有元素先进后出特点的数据结构,通过指针sp++/--进行入栈、出栈。具有典型形象的一个例子就是括号的匹配,即问形如“()(()())())”的序列,括号是否匹配正确?利用栈进行判断时,从头往后扫描,每当遇到一个“(”则入栈一次,而每当遇到一个“)”则出栈一次,最后若栈空则顺利匹配,否则不正确匹配。这个例子非常形象,可以作为一个思考的中介桥梁...

2018-08-04 21:31:10 14326 2

原创 C语言实现的求二叉树的最大宽度(递归与非递归版本)

一、递归这里说的递归,并非是指整个函数递归,而是说其中一个子函数使用了递归。整个思路可以如下:要求取最大宽度,可以循环求取每一层的宽度,存入一个数组,然后在这个数组里求最大值即可,数组下标即层数(或高度)。对于求某一层的宽度,考虑把它写成一个子函数,参数考虑起始结点以及对应的层数,举例:对于根节点来说,其第三层的宽度,就是其左孩子的第二层的宽度与其右孩子的第二层的宽度之和。这样,我们可以写...

2018-07-26 05:53:04 18240 8

原创 关于编译器自举问题的个人见解

C编译器可以编译C语言,即,将任意的C代码转换为机器语言(或汇编,看语境)。那么C编译器本身作为一个可执行程序,它必然也是用某种语言编写并编译为机器语言的,是用什么语言编写的呢,是机器语言吗?是汇编吗?据说都不是,因为用机器语言或者汇编语言实在是太难太复杂了!答案是用C语言编写的。初次遇到这个问题一定很奇怪,用C语言这样的语言编写了一段可以将自己翻译为全是0或1构成的机器语言的C语言程序?不是陷入...

2018-03-25 00:41:32 1884

原创 ucos ii程序在pc上的一种模拟

。。。

2018-02-25 17:39:09 1384

转载 为什么需要文件系统

为什么需要,这个问题不妨反过来思考如果没有文件系统会怎样?以下为转载博客园某个博主精彩论述http://www.cnblogs.com/shangye/p/6177993.html如果没有文件系统  如果我们不在硬盘本身建立文件系统,我们直接面对硬盘的扇区。如何读写文件  先看看对于操作普通文件来说,意味着什么。  我们要拿着一个小本本,上面记着,文件名,文件所在扇区以及文件大小。每次要读写文件,...

2018-02-25 15:33:57 7072

转载 文件系统存在的原因

对于单进程多线程的实时操作系统就不需要文件系统,例如ucos,ecos,因为他们只跑一个程序,当然这个程序有可能有很多功能,但是各个功能的代码都编译到同一个bin中,于是各个功能的代码和数据就是交织在了一起,那么当你修改其中一个时,势必对另外一个带来影响而对于linux/windows这种多进程的操作系统,必须要有文件系统的支持,因为他们要可以同时跑多个程序,而且还要使的各个程序能够相互独立(例如...

2018-02-25 09:52:11 449

原创 对自然语言处理nlp的一点感想

自然语言处理(nlp)作为计算机的一个研究方向存在已久,但是最近人工智能这一波热潮又让nlp重新得到巨大关注。由于处理对象是语言这一种人类特有的沟通工具以及其丰富巨大的信息量,给人一种错觉--似乎这是人工智能领域真正的皇冠,达到最终真正人工智能(强人工智能)的最近之路。但是事实是如何不敢随意断言,只是有点感慨一下,就是这一块很难做。语言作为人类的工具,一方面可以让我们与外界交互,可以说话,可以记录...

2018-02-20 05:06:34 9337

原创 codeblocks编译遇到问题的可能解决办法

在codeblocks里遇到编译不通过的问题,大多数是配置的问题。如果安装时未选择加编译器的codeblocks版本,那么安装好后还需要下载编译工具链,如mingw等。若是mingw,安装时并非直接安装,而是通过mingw installation manager进行安装。注意,要尽量多勾选与gcc 有关的选项,即mark相关选项再change。此外,需要考虑的是在settings- co

2018-02-07 17:01:42 1972

原创 stm32工程需要哪些文件

stm32比51要复杂一些儿,所以工程文件可能要复杂一些。上图由官方给出,可见一个工程项目,需要有如下三个大类:cmsis files:Cortex Microcontroller Software Interface Standard cortex系列的微控制器接口标准文件,这是arm公司提供的最底层的文件,也是工程里最底层的层面。我们看到有stm32f0xx.h core_m0

2017-04-14 23:46:18 3489

原创 C51的指令与时序的一点总结

我们知道C51的指令存储在ROM中,它需要从ROM中取出指令才能知道该干什么事。一条指令,首先应该告诉计算机要做什么性质的操作,是加减,还是跳转判断等;其次,还需要给出拿去运算的数据,可以是直接的数据(就是立即能用的数,立即数),也可以是数据存放的地址。那么如何告诉计算机我这个操作码后面跟的是立即数还是地址呢?简单,做个记号,用#来表示立即数,没记号的都是地址。取出指令时,要放在指令寄存器IR里,

2017-04-07 20:03:40 1683

原创 关于补码的来源

在很多教科书上直接给出了原码反码和补码的定义和计算,并直接给出理由:计算机的硬件结构只能做加法。这个理由是对的,可是为什么正好是补码这种形式呢?由于计算机硬件基本结构是加法器,那么最好我们用一种特别的方式来表示负数,这个过程可以称之为编码(数学上叫做映射),参与计算后,这种方式还能够再度用同样的方式进行解码得出真实的结果。按照csapp中文版(原书第二版)p43的说法,确实曾经有过用反码表

2017-04-01 12:13:54 843

转载 JDK、JRE和JVM三者之间关系

JDK(Java Development Kit)是针对Java开发员的产品,是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。Java Runtime Environment(JRE)是运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。JVM是Java Virtual Machine(Java虚拟机)的缩写,是整个java实现跨平

2017-03-30 14:24:14 548

转载 一级指针二级指针详解

void change_val(char *p)  {      char new_val[3] = {2, 3, 4};    // [2]      p = new_val;    //[3]    return;             // [4]  }  char val[3] = {1, 2, 3};  char *p = val;           

2017-02-27 08:57:05 428

原创 杂想四--思维需要材料

思维的材料思维需要材料,不是说材料构成了思维的能力。但是没有材料供给思考,那你无法形成思考的过程,思考的结论也就很难。我们去超市买生活用品,走过了几条路才走到超市,不能说生活用品是这条路的结果。但是对你来说,没有这条路你就买不到。对别人也许他可以不用经过这条路。当然你也可能到了超市才发现我去我绕了一大圈其实我只要上网订一下外送就好了的。但是这一切都必须发生在你走了这条路然后到了超市买到了东西之

2016-12-06 01:20:16 351

原创 杂想三-情感承载物--感情天然地需要物化

情感承载物的价值有多大?很多感情因为物品而产生,后来也多半寄托在物品上,所以在很多人眼中物品具有了非常重要的价值,除了使用价值,价值,还有了感情价值,当然前两者唯物,后者唯心。对每个人来说,不同物品的感情价值是不同的。感情天然的需要寄托在物品上,因为物品是可触及的,而感情无法描绘,通过物品外化后,可以具有一定程度的可触及,可保存,可保养等优势。这里的物品可以延伸到人、风景或者同样没有实体的物品等,

2016-12-04 18:27:40 658

原创 Python的一些问题--从think Python一书记录

1、递归recursion:每次递归调用内部建一个调用帧,相当于堆栈吧。      递归我觉得是一个比较聪明的发明,因为它看起来在循环定义,就像这样:试想如果单词的解释如下:vorpal:名词,描述一种叫做vorpal的行为。你一定会气疯了。      但它其实不是循环定义:n!=(n-1)!*n;0!=1.像这么定义,虽然n!里你仍然会问!是什么意思啊?虽然没有明确告知,但是却告诉了你一

2016-12-04 04:41:32 222

转载 马克思政治经济学里关于价值的理论

使用价值的含义:商品能够满足人们某种需要,可供人们使用的属性,就是商品的使用价值。使用价值是商品的自然属性,它反映的是人和物的关系,不是商品的特有属性。商品价值的含义:凝结在用于交换的劳动产品中的无差别的人类劳动,就是商品的价值。理解时应注意:①正确理解“无差别的人类劳动”。人类劳动既有差别又无差别。不同的劳动所用的工具、原材料、生产方式、方法等均有不同,从此意义上

2016-12-01 18:40:40 3143

原创 从锦绣未央讲起

锦绣未央这类的电视剧非常多,单单说它只是正好当下它正在热播而已。如果我们直接去豆瓣搜,发现评分好低啊,然后也许你也会开始担忧我国为什么粗制滥造的电视剧越来愈多啦。也许又会觉得我国广大人民的审美水平还是太低,跟不上物质发展的速度。在吐槽之前,我们不妨来设想一个画面:在一个平常百姓家里,一家老小在一天的工作或者学习后,吃完晚饭聚在一起看电视,围坐在一起看着这画面精美的电视剧,一片祥和,看完之后各回

2016-11-29 03:01:55 426

原创 人类的本质应该是什么

看了电影《月球》moon毫无疑问肯定会其中的sam产生同情以及对lunar公司的批评。毫无疑问我们对其中的克隆人的同理心和普通人是一样的。那么我们到底对怎样的对象是报以一种人的态度呢,这个问题我觉得很有意思。我们对宠物狗都可以爱到可以高速拦车甚至不惜与吃狗人群大战一番,我相信他们中是真的有很爱很爱狗的那种人的。因为他们在日常生活中有宠物狗的陪伴所以产生了感情,这种陪伴不仅仅是单纯的待在一起,他

2016-11-28 04:00:02 1066

原创 杂想二

今天感觉到一个问题,为什么明知道是零和游戏甚至是期望为负的游戏,非要参与呢?举几个例子,比如赌博,比如股市,比如彩票,当然这三个例子本身的性质并不一样。那就以赌博为例吧,我觉得赌博让人上瘾是因为人们对赌赢的刺激兴奋的记忆深刻,而容易忘记那些失败亏本的时刻,这和人的心理特点是比较符合的。其实都知道在股市里亏本的人不少,但是也听到了不少“股神”的传言,其实我觉得这是因为很多人不原意谈起自己亏本的时候,

2016-11-24 19:53:40 195

原创 杂想一

1、在各种互联网世界留下的痕迹,会不会被追踪呢?然后被profile...archive......这就是免费使用背后的隐性支付的东西吧,让渡了我们的隐私?

2016-11-05 00:33:26 244

原创 从virtual一词说开去

virtual一词似乎有两个相反的意思,一个是“实际的,事实上的”,一个是计算机领域的“虚拟的”意思,那么这对于一个词语来说是很危险的一件事,因为用在一个语境里似乎就搞不清楚到底用的其中哪个截然相反的意思了。事实上,如果分析下计算机领域为什么采用这个词来表达虚拟的意思,那就清楚了。虚拟机,虚拟现实等技术中,都是为了让相关技术达到 接近实际,模拟真实的效果,所以,其实这里的虚拟的意思,并不是为了

2016-11-04 18:17:19 2127

转载 Win8下用DOSBox编写汇编语言

Win8下用DOSBox编写汇编语言DOSBox  是一个 DOS模拟程序 , 可以很方便的移植到其他的平台 , 因此可以使用它在Win8系统中编写汇编语言 。 下面提供相关下载链接:DOSBox下载:  http://pan.baidu.com/s/1qWwkss0  汇编工具下载:  http://pan.baidu.com/s/1i3taKmT  DOSBox

2016-09-29 09:59:27 424

转载 什么是P问题、NP问题和NPC问题

Matrix67原创 转载请注明出处    这或许是众多OIer最大的误区之一。    你会经常看到网上出现“这怎么做,这不是NP问题吗”、“这个只有搜了,这已经被证明是NP问题了”之类的话。你要知道,大多数人此时所说的NP问题其实都是指的NPC问题。他们没有搞清楚NP问题和NPC问题的概念。NP问题并不是那种“只有搜才行”的问题,NPC问题才是。好,行了,基本上这个误解已经被澄清

2016-09-26 17:17:40 264

原创 电感和变压器

电感和变压器是一直困扰的问题先来讲讲电感吧一个电感可以做到储能,是因为它具有一定的抗击外部变化的能力。打个比方,弹簧,你改变它的状态需要做功,它也就存储了能量,可以适当的时候释放出来。通过计算可以得知通电螺线管的磁感应强度B=uNI/l,其电感为L=uN^2S/l。注意到这的电感值是匝数N的平方的正比,这是因为首先磁通中的磁感应强度就是一次倍数,然后磁链算匝数又得乘上一次,所以是二次方

2016-07-28 02:28:07 2708

原创 MATLAB Simulink仿真buck降压

由于版本的变更,参考资料的很多地方需要重新寻找。所以先说明下本文使用的MATLAB版本是MATLAB2014b。直接新建一个Simulink model 然后画好接线图,根据我个人的经验,有几个坑需要注意下。先放一张buck仿真接线图。1、powerGUI是必须要有的,在specialized technology里。记住如果你找不到,你就搜索,可以搜出来,包括路径。2

2016-07-20 19:55:25 16191 2

原创 关于PN结

一直以来,我对pn的形成中的几个细节耿耿于怀。最近和一个小伙伴讨论后,更加深了认识。对于半导体而言,载流子的概念让人感到迷糊。对于N型半导体,比如在Si基里掺杂P原子,此时P原子外层有9个电子,其中的1个就会比较自由,可以移动,这很好理解。而P型半导体就不怎么好理解,掺入了B原子后,由于除了4个共价键之外还需要一个电子,因此附近的某个Si原子还得贡献一个电子出来,这样,那个Si原子就显待正

2016-07-18 02:26:47 937

原创 使用python完成公司考勤数据的邮件发送

传统公司的低廉指纹考勤机一般用excel输出,用USB或别的方式拿到数据后,该脚本用Python处理Pexcel数据并将结果用邮件发送到各个员工的邮件里。使用的模块主要是:excel读取写入模块(实际上不用写入):xlrd,xlrt.smtp模块(用于发邮件):smtplib获得系统时间的模块:datetime这里我的思路是先写一个全部员工的字典,然后到对应的excel单元格读

2016-05-13 13:49:41 2003

使用python完成公司考勤数据的邮件发送

传统公司的指纹考勤机一般用excel输出,该脚本用Python处理Pexcel数据并将结果用邮件发送到各个员工的邮件里。使用的模块主要是:excel读取写入模块(实际上不用写入):xlrd,xlrt.smtp模块:

2016-05-13 13:31:04 1301

原创 DC变换初学者思路与分析

DC-DC变换电路是许多逆变电路的前置,可进行升降压,那么,他的具体实现思路是什么?影响变量有哪些?特性是什么?本质是什么?这些应该是包括我在内的初学者关心的问题。 根据我们以前的一些印象,降压可以电阻负载分配得到;而变压器可以实现升降压。变压器利用了电感这种能量变换的器件。实际上,同样的,电容也具有能量转换的功能。因此,可以猜想,它们之间的整合也许可以实现升降压的别的实现方式。

2016-04-25 14:13:09 1892

转载 数组指针和指针数组的区别

数组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。如要将二维数组赋给一指针,应这样赋值:int a[3][4];int (*p)[4]; //该语句是定义一个数组指针,指向含4个元素的一维数组。 p=a;    

2016-03-16 23:08:21 313

原创 一个简单窗口的实现

>>> import wx>>> def hello(event):print "hello world">>> app=wx.App()>>> win=wx.Frame(None,title="hello world",size=(200,100))>>> button=wx.Button(win,label="hello")>>> button.Bind(wx.EV

2016-03-08 20:56:09 344

转载 “IMPORTERROR: NO MODULE NAMED WX”问题的解决

原本用python3.4,但是没有对应的wxpython的库,只对应到2.7.因此又下载了一个python2.7.不过仍然发现产生了no module named wx的问题根据网络搜索的一篇文章,进行对应的修改:首先要安装的python和wxpython版本要对应我安装的是python:Python 2.7.11 on win32wxPython3.0-win

2016-03-07 23:40:58 6497

原创 python类

>>> class bird:def __init__(self):self.hungry=Truedef eat(self):if self.hungry:print('aaa')self.hungry=Falseelse:print('thanks')>>> b=bird()>>> b.eat()aaa>>> b.eat()tha

2016-02-28 23:09:31 333

转载 详细解读Python中的__init__()方法

__init__()方法意义重大的原因有两个。第一个原因是在对象生命周期中初始化是最重要的一步;每个对象必须正确初始化后才能正常工作。第二个原因是__init__()参数值可以有多种形式。因为有很多种方式为__init__()提供参数值,对于对象创建有大量的用例,我们可以看看其中的几个。我们想尽可能的弄清楚,因此我们需要定义一个初始化来正确的描述问题区域。在我们接触__init__

2016-02-28 20:43:09 3946 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除