欢迎来到优知文库! | 帮助中心 分享价值,成长自我!
优知文库
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 优知文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    常用算法(带答案).docx

    • 资源ID:917244       资源大小:28.94KB        全文页数:16页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录
    二维码
    扫码关注公众号登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,如果您不填写信息,系统将为您自动创建临时账号,适用于临时下载。
    如果您填写信息,用户名和密码都是您填写的【邮箱或者手机号】(系统自动生成),方便查询和重复下载。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    常用算法(带答案).docx

    1 .累加输入一个整数n,求l+2+3+.+n的和。输入:一个整数输出:一个整数样例输入:10样例输出:55测试输入:4测试输出:10n=int(input()S=Oforiinrange(n+l):s+=iprint(s)2 .累乘输入一个整数n,求l*2*3+.*n的积。输入:一个整数输出:一个整数样例输入:5样例输出:120测试输入:10测试输出:3628800n=int(input()t=lforiinrange(lzn+l):t*=iprint(t)3 .计数输入一个整数n,统计ln范围内能同时被3和7整数的数有几个?输入:一个整数输出:一个整数样例输入:100样例输出:4测试输入:200测试输出:9n=int(input()js=0foriinrange(n+l):ifi%3=0andi%7=0:js+=lprint(js)4.最大值最小值输入一行整数,求这些整数中的最大值和最小值及其位置。输入:一行整数输出:最大值及其位置和最小值及其位置样例输入:346109样例输出:最大值10,位置在第4个,最小值3,位置在第1个!测试输入:10203040750测试输出:最大值50,位置在第6个,最小值7,位置在第5个!a=list(m叩(int,input().split()zd=aO;zx=aO;zdindex=O;zxindex=Oforiinrange(ljen(a):ifai>zd:zd=aizdindex=iifai<zx:zx=aizxindex=iPrint(,最大值,位置在第个,最小值,位置在第个!,.format(zd,zdindex+l,z×zz×inde×+l)5.数字分离组合输出所有三位数中,数字之和为15的数,要求尝试用数字分离和数字组合两种方法实现。结果前三项如下所示:159168177输入:无输出:若干个整数测试输入:测试输出:159168177186195249258267276285294339348357366375384393429438447456465474483492519528537546555564573582591609618627636645654663672681690708717726735744753762771780807816825834843852861870906915924933942951960数字分离:foriinrange(100,10):gw=i%10sw=i10%10bw=i100ifgw+sw+bw=15:print(i)数字组合forbwinrange(l,10)forswinrange(10):forgwinrange(10):ifbw+sw+gw=15:print(bw*100+sw*10+gw)6.穷举将一张面值为100元的人民币等值换成100张5元、1元和0.5元的零钞,要求每种零钞不少于1张,问有哪几种组合?结果前三项如下所示:19182821637324输入:无输出:若干种组合测试输入:无测试输出:1918282163732446432555406464873756828649197210108011188foriinrange(20+l):forjinrange(140+l):k=100-i-jifi*5+j*l+k*0.5=100:print(ij,k)7 .素数判断一个数是否是素数?输入:一个整数输出:是素数/不是素数样例输入:9样例输出:不是素数测试输入:3测试输出:是素数n=eval(input()js=Oforiinrange(n+l):ifn%i=O:js+=lifjs=2:Print(,是素数,)else:PrintC不是素数)8 .水仙花数水仙花数是指一个三位数其各位数字的立方之和等于它本身,如I:153=13+53+33请输出三位数中所有的水仙花数(一行一个)。第一项为:153测试输入:无测试输出:153370371407foriinrange(100,10):gw=i%10sw=i10%10bw=i100ifgw*3+sw*3+bw*3=i:print(i)9 .完备数完备数是指这个数的所有各个因子之和等于它本身,如:6=1+2+3判断ln范围内有哪些完备数?输入:一个整数n输出:Ln范围内的完备数,一行一个样例输入:100样例输出:628测试输入:1000测试输出:628496n=eval(input()foriinrange(n+l):s=0forjinrange(lj):ifi%j=0:s+=jifs=i:print(i)10同构数同构数是指一个数出现在它的平方数的右端,如:5是25的右端,所以5是同构数请输出Ln范围内所有的同构数输入:一个整数n输出:ln范围内的同构数,一行一个样例输入:100样例输出:1562576测试输入:500测试输出:1562576376n=eval(input()foriinrange(lzn+l):a=i*2ifstr(a)-len(str(i):=str(i):print(i)回文数又称对称数,如12321,请判断一个数是否是回文数?输入:一个数输出:是回文数/不是回文数样例输入:1221样例输出:是回文数测试输入:123431测试输出:不是回文数n=input()ifn=n:-l:Printr是回文数,)else:Print(不是回文数,)方法二:n=input()foriinrange(len(n)2):ifni!=n-i-l:breakifi=len(n)2-l:Print('是回文数,)else:Print(,不是回文数,)13 .加密将输入的字符串中所有字母向后移6位,到"z”或“Z”后又从“a”或“A”开始。输入:一串字符(只包含大小写字母)输出:加密后的一串字符样例输入:abABXyz样例输出:ghGHDef测试输入:ABxyz测试输出:GHdefsr=input()S="forXinsr:n=ord(x)+6iford(x.lower()+6>ord('z'):n=n-26s=s+chr(n)print(s)14 .最大公约数、最小公倍数输入两个整数m和n,请使用辗转相除法输出m和n的最大公约数和最小公倍数。输入:两个整数m和n输出:每次循环的过程(每项占5歹Q和最大公约数及最小公倍数样例输入:128样例输出:mnr1284840最大公约数:4最小公倍数:24测试输入:208测试输出:mnr2084840最大公约数:4最小公倍数:40m,n=map(int,input().split()print(,:5sr5s5s'.format(,m,n7r')mn=m*nWhiIeTrue:r=m%nprint('<5d<5d<5d,.format(mznjr)ifr=0:breakm,n=nzrPrintr最大公约数:%d,%n)Printc最小公倍数:%d'%(mnn)15 .选择法排序输入一个整数的列表,请用选择法对列表进行从小到大的排序。输入:一个整数的列表输出:每次循环的过程及结果样例输入:5,3,8,7,2样例输出:第1轮交换后:2,3,8,7,5第2轮交换后:2,3,8,7,5第3轮交换后:2,3,5,7,8第4轮交换后:2,3,5,7,8最后结果为:2,3,5,7,8测试输入:10,503,7测试输出:第1轮交换后:3,50,10,7第2轮交换后:3,7,10,50第3轮交换后:7,10,50最后结果为:3,1,10,50a=eval(input()foriinrange(len(a)-l):P=iforjinrange(i+ljen(a):ifaj<ap:P=jifp!=i:ap,ai=ai,apPrint('第轮交换后:'format(i+l,a)Printr最后结果为:)a)16 .冒泡排序输入一个整数的列表,请用冒泡排序方法对列表进行从小到大的排序。输入:一个整数的列表输出:每次循环的过程及结果样例输入:5,3,8,7,2样例输出:第1轮交换后:3,5,7,2,8第2轮交换后:5,2,7,8第3轮交换后:3,2,5,7,8第4轮交换后:3,5,7,8最后结果为:2,3,5,7,8测试输入:10,50,3,7测试输出:第1轮交换后:10,3,7,50第2轮交换后:3,7,10,50第3轮交换后:7,10,50最后结果为:3,7,10,50a=eval(input()foriinrange(len(a)-l):forjinrange(len(a)-i-l):ifaj>aj+l:aOLaO+l=aj+lUPrint('第轮交换后:'.format(i+l,a)Print('最后结果为:,,a)17 .插入排序输入一个整数的列表,请用插入排序方法对列表进行从小到大的排序。输入:一个整数的列表输出:每次循环的过程及结果样例输入:5,3,8,7,2样例输出:第1轮交换后:3,5,8,7,2第2轮交换后:5,8,7,2第3轮交换后:5,7,8,2第4轮交换后:2,3,5,7,8最后结果为:2,3,5,7,8测试输入:10,50,3,7测试输出:第1轮交换后:10,50,3,7第2轮交换后:10,50,7第3轮交换后:7,10,50最后结果为:3,7,10,50a=eval(input()foriinrange(ljen(a):forjinrange(i,0,-l):ifaj<aj-l:ajLaU-l=aj-l,ajPrint('第轮交换后:.format。,a)Printe最

    注意事项

    本文(常用算法(带答案).docx)为本站会员(王**)主动上传,优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知优知文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 yzwku网站版权所有

    经营许可证编号:宁ICP备2022001189号-2

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知优知文库网,我们立即给予删除!

    收起
    展开