2017最全华为机试题C/C++(含答案源码)
2017最全华为机试题C/C++(含答案源码),包含111道上机考试题,欢迎下载,觉得资源好请好评。分别将字符串中的字符转换成整型数字,进行计算后,再转换成字符类型存储起来数为其中和是输入,是的长度,是的长度。是输出4.删除子串,只要是原串中有相同的子串就删掉,不管有多少个,返回子串个数输出删除后的字符串删除子串5.约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3..n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列:他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人仝部出列。6.比较一个数组的元素是否为回文数组比较两个数组,要求从数组最后一个元素廾始逐个元素冋前比较,如果2个数组长度不等,则只比较较短长度数组个数元素。请编程实现上述比较,并返回比较中发现的不相等元素的个数比如:数组{1,3,5}和数组77,21,1,3,5}按题述要求比较,不相等元素个数为0数组{1,3,5}和数组:77,21,1,3,5,7按题述要求比较,不相等元素个数为3要求实现函数int array compare(int len1, int array1[], int len2, int array2[l输入】 int len1:输入被比较数组1的元素个数;int array l[]:输入被比较数组1;int lcn2:输入被比较数组2的元素个数;int array2L]:输入被比较数组2【输出】无【返回】不相等元素的个数,类型为int小例1)02: int array1[ =11,3, 5, int len1=3, int array 2=77, 21, 1, 3, 51int e函数返回:02)输入: int array1[]=:1,3,5),int1en1=3, int array2={7,21,1,3,5,7int lend6函数返回:3约瑟大环变种:输入一个由随机数组成的数列(数列中每个数均是大于0的整数,长度已知),和初始计数值m。从数列首位置开始计数,计数到m后,将数列该位置数值替换计数值m,并将数列该位置数值出列,然后从下一位置从新开始计数,直到数列所有数值出列为止。如果计数到达数列尾段,则返回数列首位置继续计数。请编程实现上述计数过程,同时输出数值岀列的顺序比如:输入的随机数列为:3,1,2,4,初始计数值m-7,从数列首位置开始计数(数值3所在位置)第一轮计数出列数字为2,计数值更新m2,出列后数列为3,1,4,从数值4所在位置从新开始计数第二轮计数出列数字为3,计数值更新m3,出列后数列为1,4,从数值1所在位置开始计数第三轮计数出列数字为1,计数值更新m=1,出列后数列为4,从数值4所在位置开始计数最后一轮计数出列数字为4,计数过程完成。输出数值出列顺序为:2,3,1,4。要求实现函数id array iterate(int len, int input array [, int m, int output array [)输入】 int len:输入数列的长度;int Intput array[]:输入的初始数列intm:初始计数值【输出】 int output array[]:输出的数值出列顺序【返回】无示例输入: int input array[13,1,2,4}, int lcn4输出: output array[]2,3,1,4手机弓码合法性:问题描述:我国大陆运营商的手机号码标准格式为:国家码+手机号何,例如:8613912345678。特点如下:、长度13位2、以86的国家码打头3、手机号码的每一位都是数字。请实现手机号码合法性判断的函数要求1)如果手机号码合法,返回02)如果手机号码长度不合法,返回13)如果于机号码中包含非数字的字符,返回24)如果于机号码不是以86打头的,返回3:【注】除成功的情况外,以上其他合法性判断的优先级依次降低。也就是说,如果判断出长度不合法,直接返回1即可,不需要再做其他合法性判断。要求实现函数int verifyMsisdn (chark inMsisdn)【输入】char* inmsisdn,表示输入的手机号码字符串。【输出】无【返回】判断的结果,类型为int示例输入: inMsisdn=“869123456789“输出:无返回:1输入: msisdn=“88139123456789输出:无输入: inMsisdn=“86139123456789“输出:无返简单的四则运算问题描述:输入一个只包含个位数字的简单四则运算表达式字符串,计算该表达式的值注:1、表达式只含,,(,),四则运算符2、表达式数值只包含个位整数(0-9),且不会出现0作为除数的情况3、要考虑加减乘除按通常四则运算规定的计算优先级4、除法用整数除法,即仅保留除法运算结果的整数部分。比如8/3=2。输入表达式保证无0作为除数情况发生5、输入字符串一定是符合题意合法的表达式,其屮只包括数字字符和四则运算符字符,除此之外不含其它任何字符,不会出现计算溢出情况要求实现函数:int calculatc(int lcn, char *cxpStr输入】 int cn:字符串长度;char* cxpStr:表达式字符串【输出】无【返回】计算结果示例1)输入:char* expstr“1+4*5-8/3函数返回:192)输入:char* expStr=“8/3*3”函数返回:6
- 2021-05-07下载
- 积分:1
差分进化简介及实现
算子课上我讲的PPT,主题是查分演化计算,用到了变异算子,交叉算子和选择算子。复盘分析差分进化与遗传算法相似,这一点,对遗传算法稍微了解的人都会有这样的疑问。该PPT未对二者的区别和联系进行分析。我对二者都有一定的了解,并做过二者的简单实现,理应在这方面做出思考。遗憾的是,演讲结束后,老师问到这个问题,我没有做出较好的回答。介绍完算法的原理后,举了一个非凸函数寻优的例子,并且展示了函数的3D图像和最优函数值演变曲线,这一点很好。介绍图像时,首先要介绍坐标轴的含义和单位,这一点没有照顾好。很明显的一个缺陷是: 缺少该算法在工业上的应用实例。让人感觉该算法只存在于纸面上,却无实际应用价优化问题和近似最优解差分演化算法CONTENTS引言ρ优化问题是一种以数学为基础,用于求解各种工程问题基本原理的应用技术。应用实例优缺点ρ绝大多数的工程问题的求解都可以转换为优化问题,算法改进但是部分问题属于NP问题,很难找到解析解,比如:0研完点1背包、组合优化问题、任务指派等。某些情况下,退而求其次,找到近似最优解即可。针对优化问题的近似解求解,目前已成为了当前一个热点研究方向,催生出一系列的智能算法。智能算法的研究差分演化算法CONTENTS◎1975年: J Holland根据生物进化过程提出了遗传算引言法基本原理ρ1982年: Kirkpatrick模拟冶金学的退火过程提出了模拟应用实例退火算法。优缺点算法改进◎1991年: dorigo.M根据蚂蚁觅食的群体行为提出了蚁研完点群算法。◎1995年: Kennedy根据鸟类觅食的群体行为提出了粒子群算法。ρ1997年: Rainer storr和 Kenneth price.在遗传算法等进化思想的基础上,提出了差分进化算法( DifferentialEvolution, DE差分进化算法简介差分演化算法CONTENTS引言由 Rainer storn和 Kenneth price在1997年为求解切比雪基本原理夫多项式而提出。应用实例优缺点◎是一种随机的并行直接搜索算法,它可以对非线性、不算法改进可微、连续空间函数进行最小化,以其易用性、稳健性研完点和强大的全局寻优能力在多个领域取得成功。◎应用:在约東优化计算、聚类优化计算、飞线性优化控制、神经网络优化、滤波器设计、阵列天线方向图综合等参考文献差分演化算法CONTENTSE Storn, Rainer and Price, Kenneth. Differential evolution引言a simple and efficient heuristic for global optimization over基本原理continuous spaces. Journal of global optimization, 1997应用实例优缺点国杨启文,蔡亮,薛云灿.差分进化算法综述.模式识别与人算法改进工智能,2008研完点圖王培崇,钱旭,王月,虎晓红.差分进化计算研究综述.计算机工程应用,2009E Das, Swagatam and Suganthan, Ponnuthurai Nagaranam. Differential evolution: a survey of the state-of-the-artEvolutionary Computation, IEEE Transactions on, 2011优化问题表示差分演化算法左图是两个参数的函右侧是最优化问题的形式化CONTENTS数的3D图像,可以描述。第一行是目标函数,引基本原理将xy平面的矩形作为表示求函数极小值;然后是应用实例解空间,优化问题就约束条件。优缺点是从解空间中搜索最算法改进大最小值研完点min f(x1, x2st.x;∈[L;,U1≤j≤算法框架差分演化算法迭代过程CONTENTS引种群初始化变异交叉选择基本原理应用实例优缺点种群初始化在解空间中随机、均匀地产生M个个体,每算法改进个个体由n个染色体组成,作为第0代种群,标记为研完点X(0)=(x;1(0),x12(00i=1.2..…,M◎变异、交叉、选择三步操作迭代执行,直到算法收敛。第g次迭代的第i个个体标记为X(g)=(x;1(g),x;2(g),…,x1n(g)1.2.M种群初始化差分演化算法在n维空间里随机产生满足约束条件的M个染色体,第i个染色体的第个维取值方式如下rand(0,1)产生0到1的均匀分布CONTENTS的随机数):引基本原理;(0)=L+mnd(0,1)(U,-L)应用实例M优缺点算法改进研完点均匀分布随机分布聚群分布变异算子差分演化法在第8次迭代中,对个体X(g)=(x18,x12(g),…,xn(g),从种群中随机选择3个个体Xn1(g),X12(g),Xp3(g),且p1≠p2≠CONTENTS13≠i,则引H(g)=Xn1(g)+F.(Xn2(g)-X3)基本原理应用实例其中△p2,n3(8)=Ⅹn2(g)-X(8)是差分向量;F是缩放因子,优缺点用于控制差分向量的影响力算法改进研完点F(xm-x,:)0
- 2021-05-07下载
- 积分:1