易语言经典算法实例辅导讲义.docx

上传人:b****6 文档编号:2774166 上传时间:2022-11-15 格式:DOCX 页数:51 大小:47.28KB
下载 相关 举报
易语言经典算法实例辅导讲义.docx_第1页
第1页 / 共51页
易语言经典算法实例辅导讲义.docx_第2页
第2页 / 共51页
易语言经典算法实例辅导讲义.docx_第3页
第3页 / 共51页
易语言经典算法实例辅导讲义.docx_第4页
第4页 / 共51页
易语言经典算法实例辅导讲义.docx_第5页
第5页 / 共51页
点击查看更多>>
下载资源
资源描述

易语言经典算法实例辅导讲义.docx

《易语言经典算法实例辅导讲义.docx》由会员分享,可在线阅读,更多相关《易语言经典算法实例辅导讲义.docx(51页珍藏版)》请在冰豆网上搜索。

易语言经典算法实例辅导讲义.docx

易语言经典算法实例辅导讲义

易语言经典算法

1.取所有质数

2.求最小公倍数

3.求最大公约数

4.汉诺塔

5.9X9乘法表

6.猫捉老鼠(筛选法)

7.水仙花数问题

8.计算组合

9.身份证升级15位升级到18位

10.用冒泡法排序数字

11.九宫计算

12.奶牛问题

13.求阶乘

14.折半查找

15.给歌手打分

16.航线设置

17.数字全排列

18.借书方案

19.求直角三角形

20.二分排序

21.抢30

22.求回文数

23.斐波那契数列(递推法)

24.分块查找

25.求帕斯卡三角(杨辉三角)

26.箱子问题(贪婪法)

27.寻找文件(递归法)

28.求最大公约数(递归法)

29.取不重复数(排除法)

30.拉丁方

31.波松瓦分酒

32.皇后问题

33.背包问题

34.角谷猜想

35.邮票组合

36.贮油点

37.分解质因数

38.任意进制转换(大数)

39.计算星期几(常用公式)

40.计算星期几(蔡勒公式)

41.猴子吃桃子

42.马踏棋盘

43.打鱼还是晒网

44.九位累进可除数

45.十进制转为二进制

46.九连环

47.找窃贼

48.哥德巴赫猜想

49.最小生成数

50.农夫过河

51.旅游最省钱路径

52.马克思手稿中的数学题

53.上楼梯(递归).e

54.上楼梯(非递归)

55.金额大小写转换

56.求一元二次方程的根(二分法)

57.数字与IP地址间的转换

58.八皇后问题(回溯法)

59.求N阶幻方

60.计算分数的精确值

61.找零钱

62.求一元二次方程的根(公式法)

63.比赛日程(分治法)

64.两个有序数组的合并

65.统计投色子(2个)的结果

66.12小球问题

67.改进冒泡排序法

68.螺旋数组

69.射击环数

70.猜数字游戏

71.桶排序

72.造币厂问题

73.直接插入排序

74.搬砖

75.公车座位巧安排

76.韩信点兵(中国剩余定理)

77.黑洞数

78.矩阵相乘

79.螺旋矩阵问题(多循环法)

80.买水果问题

81.求平方根

82.求任意三角形面积

83.全排列问题(递推法)

84.怎样组合值最大

85.取两数之间均匀分布的随机数

算法:

递归

递推法

分块查找

筛选法

枚举法

冒泡法

二分法

贪婪法

序号:

001

使用算法:

筛选法

问题:

取N以内的所有质数数量并显示,

问题描述:

求N(N>0)个自然数中的所有质数数量,并显示

问题分析:

先把所有质数以外的数,打上“1“的标志,最后搜索整型数组,找出值为0的个数,就是质数的个数!

备注:

易语言例程:

001.取所有质数.e

 

序号:

002

使用算法:

循环检验

问题:

求最小公倍数

问题描述:

求任意2个自然数的最小公倍数

问题分析:

我们只要认准一个数,先从自身开始和另一个数求余数比较,为0那么这个数就是最小公倍数,如果不为0,那么把这个数不断翻倍再比较。

备注:

易语言例程:

002.求最小公倍数.e

 

序号:

003

使用算法:

辗转相除法

问题:

求最大公约数

问题描述:

求任意2个自然数的最大公约数

问题分析:

用辗转相除法求最大公约数

用辗转相除法求两个数的最大公约数的步骤如下:

先用小的一个数除大的一个数,得第一个余数;

再用第一个余数除小的一个数,得第二个余数;

又用第二个余数除第一个余数,得第三个余数;

这样逐次用后一个数去除前一个余数,直到余数是0为止。

那么,最后一个除数就是所求的最大公约数(如果最后的除数是1,那么原来的两个数是互质数)。

例如求1515和600的最大公约数,

第一次:

用600除1515,商2余315;

第二次:

用315除600,商1余285;

第三次:

用285除315,商1余30;

第四次:

用30除285,商9余15;

第五次:

用15除30,商2余0。

1515和600的最大公约数是15。

辗转相除法是求两个数的最大公约数的方法。

如果求几个数的最大公约数,可以先求两个数的最大公约数,再求这个最大公约数与第三个数的最大公约数。

这样依次下去,直到最后一个数为止。

最后所得的一个最大公约数,就是所求的几个数的最大公约数。

备注:

易语言例程:

003.求最大公约数.e

 

序号:

004

使用算法:

未知

问题:

汉诺塔

问题描述:

汉诺塔是一种古老的游戏,是指在一柱(设为“甲”柱)上从下向上依次放着从大到小的一叠盘子,要把该柱(“甲”柱)上的盘子全部搬到指定的柱上(设为“乙”柱),在搬运过程中,可以利用另外一根柱子(设为“丙”柱)来协助搬移,要求在搬移过程中必须始终(即每搬一步后)保持每根柱上(“甲”、“乙”、“丙”柱)的盘子都是处于从大到小(从柱子下面至上面)依次排列的状态,试问怎样搬移盘子?

最少需要搬几次才能把“甲”柱上的全部盘子移至“乙”柱?

古印度梵教曾利用这种方法来推算宇宙末日之时间。

问题分析:

在移动的过程中,必须按照下述移动规则:

1.直径较小的圆盘永远置于直径较大的圆盘上。

2.圆盘可任意地由任何一个木椿移到其他的木椿上。

3.每一次仅能移动一个圆盘。

用递归调用的方法求解。

备注:

易语言例程:

004.汉诺塔.e

 

序号:

005

使用算法:

未知

问题:

9X9乘法表

问题描述:

列出99乘法表

问题分析:

被乘数和乘数都是从1-9依次递增1,到9后继续返回1重新递增!

备注:

易语言例程:

005.99乘法表.e

序号:

006

使用算法:

筛选法

问题:

猫捉老鼠(筛选法)

问题描述:

所谓筛选法就是从全集中将不合格的项全部删去,剩下的就是答案。

30个只老鼠围成一圈,花猫从第一只开始数,数到5或5的倍数就吃掉,问最有后一个吃掉的应该是站在地几个位置上的老鼠?

这是个经典问题,解法就是模拟整个过程,有点类似于循环队列。

另外,为了程序上处理方便,可以假定所有老鼠都被吃掉,然后看一下最后一个被吃掉的是谁。

另一处为了处理方便而采取的措施是pos的初始值设为-1.很多时候,对问题的问法稍作变动,或者将初始值、加减变量的位置稍作调整,用程序处理起来会方便很多。

备注:

例程:

006.猫捉老鼠(筛选法).e

序号:

007

使用算法:

枚举法

问题:

水仙花数问题

问题描述:

在100-999这些三位数中,有些数本身等于它百位上数字的立方加上十位上数字的立方加上个位上数字的立方,这样的三位数叫水仙花数。

那么现在我们就要来找出这些三位数。

问题分析:

“根据水仙花数的特点:

我们只要将100-999这些三位数按照下面的规律逐个比较就可以了。

比如:

153=1的3立方+5的立方+3的立方,那么这个数就是水仙花数。

备注:

易语言例程:

007.水仙花数问题.e

序号:

008

使用算法:

递归

问题:

计算组合

问题描述:

找出从自然数1,2,......n中任取r个数的组合。

例如n=5,r=3

问题分析:

分析所列的10个组合,可用这样的递归思想来考虑慈和函数的算法,设子程序[计算分组子程序(m,k)]即找出自然数1,2。

m中任取k个数的所有组合。

当组合的第一个数字选定时,其后面的数字是从余下的m-1个数中取k-1个数的所有组合。

这就将求m个数中去r个数的组合问题转化成求m-1个数中取k-1数的组合。

备注:

易语言例程:

008.m选n(生成法).e

序号:

009

使用算法:

固定算法

问题:

身份证升级15位升级到18位

问题描述:

将个人旧身份证15位升级到18位

问题分析:

公式:

∑(ai×Wi)(mod11)……………………………………

公式中:

i----表示号码字符从由至左包括校验码在内的位置序号;

ai----表示第i位置上的号码字符值;

Wi----示第i位置上的加权因子,其数值依据公式Wi=2(n-1)(mod11)计算得出。

i181716151413121110987654321

ai34052419800101001a1

Wi79105842163791058421

ai×Wi21360251616294800905002a1

易语言例程:

009.身份证升级15位升级到18位.e

 

序号:

010

使用算法:

冒泡法

问题:

用冒泡法排序数字

问题描述:

使用冒泡排序法按顺序排序一批数字

问题分析:

首先将第一个记录的关键字和第二个记录的关键字进行比较,若为逆序,则交换两记录的值。

然后比较第二个和第三个记录的关键字,依次类推,直至最后一个记录也进行过比较。

上述过程称为第一趟冒泡排序,其结果是最大值被安置到最后一个记录的位置上。

进行第二趟排序,对前N-1个记录进行同样的排序。

依次类推,当进行完N-1趟排序后,所有记录有序排列。

备注:

易语言例程:

010.冒泡排序.e

序号:

011

使用算法:

推导法

问题:

九宫计算

问题描述:

1到9九个数字任意组合成一个三行三列的九宫。

使每行没列没一斜行的和都相同计算出有多少种结果。

问题分析:

用两层循环试探所有可能的组合如果合格则显示不合格则淘汰

备注:

易语言例程:

011.九宫计算.e

 

序号:

012

使用算法:

推导法

问题:

奶牛问题

问题描述:

一个农场有头母牛,现在母牛才一岁,要到四岁才能生小牛,四岁之后,每年生一头小牛。

假设每次生的都是母牛,并且也遵守4年才生育并生母牛的原则。

问n年之后多少头牛?

问题分析:

因为初试奶牛已经1岁,可以将规律计算为:

年数:

12345678910

奶牛年龄234567891011

牛:

112345791113

通过上面规律可以推导出结果。

备注:

易语言例程:

012.奶牛问题.e

 

序号:

013

使用算法:

问题:

求阶乘

问题描述:

输入一个整数,求出其阶乘。

问题分析:

0的阶乘等于1,1的阶乘等于1

N的阶乘等于N乘以(N-1)的阶乘

由此可以断定N的阶乘是1*2*3*4......(n-1)*n

备注:

易语言例程:

013.阶乘计算.e

 

序号:

014

使用算法:

二分法

问题:

折半查找

问题描述:

10个篮子里分别放着10种好吃的(无重复)水果是按编号大小顺序放在1~10号篮子。

怎样快速找到水果?

问题分析:

折半查找的基本思想:

设查找元素储存在一个一维数组中,已经按关键字递增(或递减)的方式排列的情况下,可进行折半查找。

其方法是:

首先将要查的关键字值与数组中间位置上的记录的关键字比较.”

1若相等,则查找成功;

2若大于中间位置的关键字则说明要查记录只可能在后半段中,下一步应在后半部分再进行折半查找;

3若小于中间位置关键字说明要查记录只可能在前半部分,下一步应该在前半部分再进行折半查找。

逐步缩小范围直到查找成功或子表为空时失败为止。

备注:

易语言例程:

014.折半查找.e

 

序号:

015

使用算法:

求最大值,求最小值,求平均数

问题:

给歌手打分

问题描述:

在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。

选手最后得分为:

去掉一个最高分和一个最低分后其余8个分数的平

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1