自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 百度智能云api的使用(python)

1.安装 进入百度智能云,登录账号,比如我们现在想做图像增强,首先创建应用: 人工智能-->图像效果增强 创建成功后会有一个应用,这里面的AppID API Key Secret Key后边要用(代码里) 比如我们把它叫做图像修复,点击这个图像修复进入下载SDK页面 ...

2020-06-05 13:01:49 20 0

原创 Python 实现求矩阵的伴随矩阵

def remove_line(index,arr): yy=[] for i in range(len(arr)): hh=[] for j in range(len(arr)): if(i==index[0] or j==...

2020-05-26 16:20:43 90 0

原创 python 连接打印机打印多行

0.了解到python连接打印机需要安装win32print,去官网查看https://github.com/mhammond/pywin32/releases 1.python的版本选择正确,下载成功后得到安装包,点击安装出现python version 3.5 required, whi...

2020-05-15 08:57:54 44 0

原创 matplotlib画图报错ImportError: No module named 'PyQt4'

今天用matplotlib画图发现并不能画出来,还报错 import matplotlib.pyplot as plt File "D:\Anaconda3\lib\site-packages\matplotlib\pyplot.py", line 114, in &l...

2020-05-12 10:10:51 113 0

原创 PyQt5 实现音乐播放器界面

主要参考来源 在PyQt5中美化和装扮图形界面 相对的增加了拖动和关闭按钮执行函数。 全部代码如下: # marsmarcin # 2020.3.11 # a test version for a beautiful system from PyQt5 import QtCore,Qt...

2020-03-29 09:35:53 677 0

原创 大整数乘法

大整数乘法 【分析】 一般情况下,求两个大整数相乘往往利用分治法解决,理解起来较为困难,这里我们使用的方法是模拟人类大脑计算两个整数相乘的方式进行求解大整数相乘,中间结果和最后结果仍然使用数组来存储。 假设A为被乘数,B为乘数,分别从A和B的最低位开始,将B的最低位分别与A的个位数依次相乘,...

2020-02-03 19:19:17 187 0

原创 求算数表达式的值

编写算法,要求在键盘上输入一个算术表达式6+(7-1)*3+10/2, 输出表达式的值。 【分析】 表达式求值是栈的典型应用,计算机在求算术表达式的值分为两步: (1)将中缀表达式转换为后缀表达式; (2) 依据后缀表达式计算表达式的值。 6+(7-1)*3+10/2的后缀表达式为671-3...

2020-02-03 19:11:03 115 0

原创 一年中的第几天

根据输入的年月日,计算它是这一年的第几天 【分析】 根据输入的年(year)、月(month)、日(day),首先根据年份判断这一年是闰年还是平年,如果是闰年,则2月时29天,否则2月为28天,然后累加前month-1个月的天数,最后加上day就是这一年的第几天。 code: #inclu...

2020-02-03 19:03:43 191 0

原创 高位数的幂运算

计算7的34次方 【分析】 计算-一个数的n次方可通过简单的一重循环实现,但7的34次方是一个非常大的数,它超过了计算机的表示范围。这其实是一-个大整数存储问题,可以利用数组来存储。 要计算7的34次方,将1存储在数组a中,不断地将其与7相乘,循环34次,数组a的值就是7的34次方。任何一个...

2020-02-03 18:57:47 134 0

原创 大小写金额转换

大小写金额转换 在实际工作中,当我们填写人民币数据时,比如报销差旅费、打欠条,就需要使用大写金额书写,有时候需要把一系列表格中的小写金额转换为大写,这就是大小写金额转换,例如,10 802.54的大写金额为:壹万零捌仟元伍角肆分。 【分析】 将小写金额转换为大写金额的方法如下。 (1)求出小写金...

2020-02-03 18:37:32 81 0

原创 回溯算法3——装箱问题

有n个集装箱要装到两艘船上,每艘船的容载量分别为cl, c2,第i个集装箱的重量为w[i], 同时满足: w[]+w[2)+.+w[n]<=c1+c2; 确定一个最佳的方案把这些集装箱装入这两艘船上。 【分析】 最佳方案的方法:首先将第一艘船尽量装满,再把剩下的装在第二艘船上。第一艘船尽量装...

2020-02-03 15:12:04 140 0

原创 回溯算法2——填字游戏

在3x3的方格中填入数字1~N(N>0)中的某9个数字,每个方格填1个整数,使相邻的两个方格中的整数之和为质数。求满足以上要求的各种数字填法。 【分析】 利用试探法找到问题的解,即从第一一个方格开始, 为当前方格寻找一个合理的整数填入,并在当前位置正确填入后,为下一方格寻找可填入的合理整数。...

2020-02-03 15:00:46 198 0

原创 回溯算法1——组合问题

【问题】 找出从自然数1~n中任取r个数的所有组合。例如n=5,r=3的所有组合如下: (1)1,2,3 (2)1,2,4 (3)1,2,5 (4)1,3,4 (5)1,3,5 (6)1,4,5 (7)2,3,4 (8)2,3,5 (9)2,4,5 (10)3,4,5 按照回溯法的思想,将找到的...

2020-02-03 14:51:30 71 0

原创 贪心算法3——加油站问题

【问题】 一辆汽车 加满油后可以行使n千米。旅途中有若干个加油站,途加油次数减少,设计一个算法,输出最好的加油方案。 例如,假设沿途有9个加油站,总路程为100千米,加满油后汽车的最远距离为20千米。汽车加油的位置如图所示。 【分析】 为了使汽车在途中加油次数减少,需要让汽车加过一次油 ...

2020-02-03 12:32:30 284 0

原创 贪心算法2——哈夫曼编码

【构造哈夫曼树】 假设有n个叶子结点,对应的权值分别是w1、w2、....,wn则哈夫曼树的构造如下: (1)将w1,w2,....wn看成是有n课树的森林(每棵树仅有一个结点)。 (2)在森林中选出两个根结点权值最小的树合并,作为一棵新树的左、右子树,且新树的根结点权值为左、右子树结点权值之...

2020-02-03 12:18:59 78 0

原创 贪心算法1——找零钱问题

贪心算法是一种不追求最优解,只希望找到较为满意解的方法。贪心算法省去了为找最优解要穷尽所有可能而必须耗费的大量时间,因此它一般可以快速得到比较满意的解。 贪心算法常以当前情况做最优选择,而不考虑各种可能的情况没所以贪心算法不需要回溯。 找零钱问题 人民币的面额有100元、50元、10元、5元、...

2020-02-03 10:45:32 515 0

原创 枚举算法6——谁在说谎

谁在说谎。张三说李四在说谎,李四说王五在说谎,王五说张三、李四都在说谎。请问到底谁在说谎。 【分析】 这是一个逻辑推理题,用正常的推理方法无法得出答案,我们可以先假设一个条件成立,然后根据这个条件进行推理,如果得出的结果不予条件矛盾,则说明假设条件成立;如果推出的结果与已知条件矛盾,则说明条件...

2020-02-03 09:42:16 113 0

原创 枚举算法5——填数游戏

填数游戏,如图所示每个汉字代表一个数字,不同的汉字代表数字不同,要求填写这些汉字代表的数字。 【分析】 从图中可以看出,共有5个汉字,每个汉字是数字0~9中的一个。显然“北”和“会”不能是0.利用5个循环,依次枚举每个汉字代表的数字,判断相乘结果是否符合即可。 code: #inc...

2020-02-03 09:34:04 65 0

原创 枚举算法4——打印水仙花数

“水仙花数”是指这样的三位数,其各位数字立方和等于该数本身。例如,153=1^3+5^3+3^3 使用枚举法遍历100--999所有整数。 怎样分离出百位,十位、各位 i=n/100 //百位 j=n/10%10 //十位 k=n%10 //各位 code: #include&...

2020-02-03 08:20:57 133 0

原创 枚举算法3——五猴分桃

五猴分桃:五只猴子一起摘了一堆桃子,因为太累了决定先睡一觉再分。一会其中一个猴子先过来将桃子分成五分,剩了一个桃子就给吃了,并拿走其中一份。 一会第2只猴子过来。又将剩下的桃子分成5份,发现多了一个桃子给吃了,并拿走其中一份,接着来的第3只、4只、5只猴子都是这样做的,它们一共摘了多少桃子,第5只...

2020-02-03 08:10:51 86 0

原创 枚举算法2——百钱买百鸡

百钱买百鸡 共计3元一只,母鸡5元一只,小鸡1元三只,一百元买一百只鸡。请写出公鸡、母鸡、小鸡的数目。 【分析】 假设公鸡数为cock、母鸡数为hen、小鸡数为chick,得到两个关系,cock+hen+chick=100,3*cock+5*hen+chick/3=100 可以采用枚举法不...

2020-02-03 07:52:58 185 0

原创 枚举算法1——判断n能否被3、5、7整除

枚举算法,也称为穷举算法它是编程中常用的一种算法。在解决某些问题时,可能无法按照一定规律从众多的候选答案中找到正确答案。此时,可以从众多的候选解中逐一取出候选答案,并验证候选答案是否为正确的解。我们将这种方法称为枚举法。 枚举法的缺点:运算量比较大,解题效率不高。如果枚举范围太大,在时间上就难...

2020-02-03 07:44:19 194 0

原创 递归算法10——复杂递归之大牛生小牛问题

一只刚出生的小牛,4年后生一只小牛,以后每年生一只,现有一只刚出生的小牛,问20年后共有多少只。 【分析】 问题可以分成两种情况处理:小于4年时,只有一只小牛;大于4年时,小牛长成大牛,开始生小牛。递归函数可以这样描述: 如果year<4,则返回1表示只有一头牛;当year≥4时,第4...

2020-02-02 15:42:30 134 0

原创 递归算法9——复杂递归之汉诺塔问题

汉诺塔问题是源于印度的一个古老传说。上帝创造世界的时候做了三根金刚石柱子,在一根柱子从上往下按照大小顺序摞着64片金属圆盘。上帝命令婆罗门把圆盘从下面开始按照大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间只能移动一个圆盘。 【分析】 这个问题其实就是将n个圆盘从...

2020-02-02 15:35:08 69 0

原创 递归算法8——复杂递归之台阶问题

某人上楼梯,一步可以买一个台阶,两个台阶或三个台阶,共有n个台阶。编程实现输出它所有可能的上法。例如n=4 1 1 1 1 1 1 2 1 2 1 1 3 2 1 1 2 2 3 1 由题意可知,可以将问题分成3种情况:一次上一个台阶、一次上两个台阶、一次上三个台阶。在递归函数中,需要引入一...

2020-02-02 13:01:30 50 0

原创 递归算法7——复杂递归之和式分解

和式分解 给定一个正整数n,输出和为n的所有不增的正整数和式。 【问题】 要求给定一个正整数n,输出和为n的左右不增的正整数和式。例如,n=5,则输出的和式结果为: 5=5 5=4+1 5=3+2 5=3+1+1 5=2+2+1 5=2+1+1+1 5=1+1+1+1+1 【分析】 这是...

2020-02-02 12:36:58 148 0

原创 递归算法6——复杂递归之颠倒字符串

复杂递归算法就是在递归调用函数的过程中,还需要一些处理,例如,保存或修改元素值。颠倒字符串、和式分解、汉诺塔问题都是属于比较复杂的递归算法。 颠倒字符串 使用递归实现将一个字符串颠倒后重新存放在原字符串中。 【分析】 假设字符串存放在数组s中,递归函数原型如下: int RevStr(ch...

2020-02-02 10:03:02 85 0

原创 递归算法5——简单递归之求最大公约数

用递归函数求两个整数M和N的最大公约数。 【分析】 两个整数M和N的最大公约数具有以下性质: code: #include<stdio.h> #include <iostream> int gcd(int m, int n); void main() { i...

2020-02-01 18:52:13 112 0

原创 递归算法4——简单递归之数制转换

使用递归函数实现十进制转换为二进制整数 【分析】 除二取余法,不断地将商作为新的被除数除以2,而每次的余数序列就是所求的二进制数。 当num==0时,回推阶段结束,开始递推,返回;否则,将商作为新的被除数,即调用函数同时输出每层的余数。 code: #include<stdio....

2020-02-01 18:43:58 54 0

原创 递归算法3——简单递归之求n个数的最大值

【分析】 假设元素序列存放在数组a中,数组a中n个元素的最大值可以通过将a[n-1]与前n-1个元素最大值比较后得到。 当n=1时有findmax(a,n)=a[0]; 当n≥1时,有findmax(a,n)=(a[n-1] > findmax(a, n-1) ? a[n-1] : fin...

2020-02-01 18:32:17 543 0

原创 递归算法2——简单递归之斐波那契数列(递归法)

斐波那契数列指的是这样的一个数列: 0,1,1,2,3,5,8,13,21,......从第3个数起,每个数都是前两个数之和。编写算法,输出斐波那契数列的前n项。 【分析】 斐波那契数列可以写成如下公式: 当n=4时,求fibibacci(4)的值过程如下图所示。 其中,图中阴影部...

2020-02-01 14:12:10 174 0

原创 递归算法1——简单递归之求n的阶乘

递归就是自己调用自己,它是设计和描述算法的一种有力工具,常常用来解决比较复杂的问题,能采用递归描述的算法通常有以下特征: 为求解规模为N的问题,设法将它分解成规模较小的问题,从小问题的解容易构造出大问题的解,并且这些规模问题较小的问题也能采用同样的分解方法,分解成规模更小的问题,并能从这些更小问题...

2020-02-01 10:14:11 286 0

原创 迭代算法8——近似迭代法之求定积分

求定积分 【分析】 定积分 的几何意义就是求曲线f(x)与y=0,x=a,x=b所围成的曲顶梯形的面积。为了得到定积分的值,需要将连续的对象分割为容易求解的子对象,然后利用迭代法对表达式反复操作。求定积分的方法有两种:矩形法和梯形法。 下面主要以梯形法为例具体讲解: 函数y=f(x...

2020-01-31 15:25:47 184 0

原创 迭代算法7——近似迭代法之牛顿迭代法

利用牛顿法求方程x^4-3x^3+1.5x^2-4=0的根。 【定义】 牛顿迭代法是用于求方程或方程组近似根的一种常用算法。 1.推导过程 设已知方程f(x)=0的近似根为x0,则在x0处的泰勒展开式为: 取线性部分即泰勒展开式的前两项作为非线性方程f(x)=0近似方程,则有: ...

2020-01-31 13:20:58 143 0

原创 迭代算法6——近似迭代法之二分法

利用二分法求方程3x^3-13x+2=0在区间[1,9]的根。 【分析】 1.相关概念 零点:函数y=f(x)的零点就是f(x)=0的根,如果y=f(x)有根存在,则说明函数y=f(x)的图像与x轴有交点。 2.零点存在的判断方法 函数y=f(x)在区间[a,b]上连续,且f(a)·f(b...

2020-01-30 14:53:56 94 0

原创 迭代算法5——近似迭代法之求一个数的平方根

【分析】 求平方根的迭代公式:x1 = 1/2 × (x0 + a/x0)。 算法步骤如下: (1)先定一个初值x0,作为a的平方根值,取a/2作为a的平方根初值。 (2)利用上述迭代公式求出一个x1,把新的x1代入x0中。 (3)再次利用迭代公式求出一个新的x1,比较x1和x0,如果它们的差...

2020-01-30 13:10:53 91 0

原创 迭代算法4——精确迭代法之角谷猜想

输入一个正整数,求出角谷猜想过程中的每一个数。 【定义】 角谷猜想。日本数学家角谷静夫在研究自然数时发现了一个现象:对于任意一个自然数n,如果m为偶数,则将其除以2;如果n为奇数则将其乘以3,然后再加1。按照上述方法经过有限次运算后,总可以得到自然数1。人们将角谷静夫的这一发现称为“角谷猜想”...

2020-01-30 10:34:20 118 0

原创 迭代算法3——精确迭代法之质因数的分解

质因数的分解 任给一个整数M,编程实现质因数的分解。 【分析】 算法步骤如下: (1)如果M不等于1,则从x=2开始,让M除以x,如果够被整除,则x是其中的一个因子,将x存入数组a中,并用商代替M。 (2)如果M能够被x整除,转步骤(1)执行;否则,则将x增1。 (3)如果M不为1,则步骤(1...

2020-01-30 10:18:37 100 0

原创 迭代算法2——精确迭代法之十进制转换为二进制

【分析】 用除二取余法。具体步骤如下: (1)将该数除以2,得到商和余数。 (2)将商作为被除数,并除以2,得到新的商和余数。 (3)重复执行(2),直到商为0为止。将余数反过来排列即为所求。 code: #include<stdio.h> #include <iost...

2020-01-30 09:47:09 173 0

原创 迭代算法1——精确迭代法之最大公约数与最小公倍数

迭代算法也称为辗转法,它是一种不断用旧的变量值递推得到新值的过程。迭代法是用计算机解决问题的一种基本方法,它利用计算机运行速度快、适合做重复性操作的特点,让计算机对一组操作重复执行,每次执行时都是从变量的旧值推出一个新值。 迭代法与递推法的相同之处在于都是使用循环语句实现,不同之处在于: &l...

2020-01-30 09:40:07 97 0

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