程序设计综合练习(二).ppt

上传人:王** 文档编号:185128 上传时间:2023-04-02 格式:PPT 页数:55 大小:250.50KB
下载 相关 举报
程序设计综合练习(二).ppt_第1页
第1页 / 共55页
程序设计综合练习(二).ppt_第2页
第2页 / 共55页
程序设计综合练习(二).ppt_第3页
第3页 / 共55页
程序设计综合练习(二).ppt_第4页
第4页 / 共55页
程序设计综合练习(二).ppt_第5页
第5页 / 共55页
程序设计综合练习(二).ppt_第6页
第6页 / 共55页
程序设计综合练习(二).ppt_第7页
第7页 / 共55页
程序设计综合练习(二).ppt_第8页
第8页 / 共55页
程序设计综合练习(二).ppt_第9页
第9页 / 共55页
程序设计综合练习(二).ppt_第10页
第10页 / 共55页
亲,该文档总共55页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《程序设计综合练习(二).ppt》由会员分享,可在线阅读,更多相关《程序设计综合练习(二).ppt(55页珍藏版)》请在优知文库上搜索。

1、程序设计综合练习(二)大学计算机教学部练习练习1:e(1)=e(2)=1,e(n)=(n-1)e(n-1)+(n-2)e(n-2),(n2),称为称为e数列,每一个数列,每一个e(n),n=1,2,)称为称为e数。求数。求1,30000 之内:之内:最大的最大的e数数(16687);e数的数目数的数目( 9 )。 程序:程序:lx1.prg set talk off clear store 1 to e1,e2 i=3n=2 do while .t. e3=(i-1)*e2+(i-2)*e1 if e3=30000 exit endif e1=e2 e2=e3 i=i+1 n=n+1 endd

2、o ?最大的最大的e数,数,e2=,e2 ? e的数目的数目=,n练习:练习:计算计算1,1000之间能被之间能被5和和7整除的数。求出(按整除的数。求出(按升序排列):升序排列): (1)第第20个这样的数。(个这样的数。(700) (2)前前20个这样的数之和。个这样的数之和。 (7350) 程序:程序:lx2.prg set talk off clear i=1 n=0 s=0 do while i2)求:)求: F(50)F(0)+F(1)+F(50) 程序:程序:lx3.prg set talk off clear store 1 to f0,f1,f2 i=3 sum=3 do w

3、hile i2)求求 F(0)到)到F(200)中:)中:()正数个数;()正数个数;()零的个数。()零的个数。 程序:程序:lx4.prg set talk off f0=1 f1=0 f2=1 i=3 zs=2 ls=1 do while i0 zs=zs+1 endif if f3=0 ls=ls+1 endif f0=f1 f1=f2 f2=f3 i=i+1 enddo ? 整数的个数是:整数的个数是:,zs ? 零的个数:零的个数:,ls set talk on return练习:已知:练习:已知:F(0)=F(1)=1F(2)=0F(N)=F(N-1)-2F(N-2)+F(N-3

4、)()(N2)求求 F(0)到)到 F(50)中的最大值和最小值。)中的最大值和最小值。 程序:程序:lx5.prg set talk off dime ff(51) ff(1)=1 ff(2)=1 ff(3)=0 i=4 do while i=51 ff(i)=ff(i-1)-2*ff(i-2)+ff(i-3) i=i+1 enddo kk=asort(ff) ? 最大值最大值=,ff(51) ? 最小值最小值=,ff(1) set talk on return练习:整数练习:整数36的质因子共有的质因子共有4个,它们是个,它们是2,2,3,3,求整数,求整数12903的最大质因子。的最大质

5、因子。 程序:程序:lx6.prg set talk off i=1 maxzs=2 do while imaxzs maxzs=i endif endif endifenddo ? 整数12903最大的质因子是:,maxzs set talk on return 练习:计算下列级数之值:练习:计算下列级数之值: 50 n=1 要求精确到小数点后第6位。_1_2n-1 程序:程序:lx7.prg set talk off clear set deci to 6 n=1 sum=0 do while n=50 sum=sum+1/(2*n-1) n=n+1 enddo ? sum is ,sum

6、 set talk on return练习:求练习:求100,999之间能被之间能被21整除的数的个整除的数的个 数。数。 程序:程序:lx8.prg set talk off n=0 for i=100 to 999 if int(i/21)=i/21 n=n+1 endif endfor ? n=,n set talk on return练习求出求出2,478以内的:以内的:(1)最大的素数最大的素数;(2)素数数目素数数目(3)所有素数之和。所有素数之和。 程序:程序:lx9.prgset talk offi=1zsmax=2zsgs=0zssum=0do while izsmax zs

7、max=i endif endifenddo? 最大的质数是:最大的质数是:,zsmax? 质数的数目:质数的数目:,zsgs? 所有质数之和:所有质数之和:,zssumset talk onreturn练习10 求求716539的的:(1)质因子个数;质因子个数; (2)最小质因子;最小质因子; (3)最大质因子。最大质因子。 程序程序:lx10.prg set talk off clear i=1 n=0 zyzmin=716529/2 zyzmax=2 do while i=716539/2 i=i+1 if int(716539/i)=716539/i flag=0 for j=2 t

8、o i-1 if int(i/j)=i/j flag=1 exit endif endfor if flag=1 loop else n=n+1 if izyzmax zyzmax=i endif endif endif enddo ? 质因子个数质因子个数=,n ? 最小质因子最小质因子=,zyzmin ? 最大质因子最大质因子,zyzmax set talk on return练习练习11 求满足:求满足:AB=716699,A+B 最小这最小这 两个条件的两个条件的 A和和 B。 程序:程序:lx11.prgset talk offa=0c=716700do while a=sqrt(7

9、16699) a=a+1 if int(716699/a)=716699/a b=716699/a else loop endif if a+bc c=a+b endifEnddoa=0do while a=sqrt(716699) a=a+1 if int(716699/a)=716699/a b=716699/a else loop endif if a+b=c ? 满足条件的满足条件的A,B 是:是: ,a,b endifEnddo练习练习12 求求1000,2000之间:之间: 最小的素数;最大的素数。最小的素数;最大的素数。 程序程序 lx12.prgset talk offclea

10、rzsmax=1001zsmin=1999for i=1000 to 2000 flag=0 for j=2 to i-1 if int(i/j)=i/j flag=1 exit endif endfor if flag=1 loop else if izsmax zsmax=i endif endifendfor? 最大的质数是:最大的质数是:,zsmax? 最小的质数是:最小的质数是:,zsminset talk onReturn练习练习13 若两素数之差为若两素数之差为2,则称该素数为,则称该素数为双胞胎数。求出双胞胎数。求出2,300之内:之内: 最大的一对双胞胎数;最大的一对双胞胎数

11、; 有多少对双胞胎数。有多少对双胞胎数。 程序: lx13.prgset talk offn=0aaa=2for i=2 to 300 if prime(i) .and. prime(i+2) n=n+1 if iaaa aaa=i endif endifendfor? 最大的一对双胞胎数是:,aaa,aaa+2? 双胞胎数的数目是:,nReturnfunction prime(num) flag=0if nummmax mmax=I endif endifendfor ? 最大的完全数是:,mmax? 完全数的数目是:,nreturn练习17 一自然数平方的末位与该数相同时,称此数为自同构数

12、。例如,由于 5的平方 = 25,则称5为自同构数。求出1,700以内的: 最大的自同构数;自同构数数目。 程序:lx18.prgset talk offn=0tmax=1for i=1 to 700 bb=i2 cc1=ltrim(str(i) cc2=ltrim(str(bb) <rim函数去掉前导空格 lenth=len(cc1) if right(cc2,lenth)=cc1 n=n+1 if itmax tmax=i endif endifendfor? 最大的同构数是:,tmax? 自同构数的数目是:,nset talk onReturn练习18 若某不含数字0的三位正整数,其

13、平方数至少有三位同样的数字,则称该三位数为三重数。例如 5112 = 261121 (有三位1),所以 511为三重数。求出: 按升序排列第10个三重数; 按升序排列前10个三重数之和; 所有三重数之和。 程序:lx18.prgset talk offn=0 sum=0for k=100 to 999 cc1=ltrim(str(k) if 0$cc1 loop endif bfs=k*2 cc2=ltrim(str(bfs) for i=0 to 9 cc3=ltrim(str(i) if at(cc3,cc2,3)#0 n=n+1 sum=sum+k if n=10 ? 第10个三重数是:

14、,k ? 前10个三重数之和是:,sum endif endif endforendfor? 所有三重数之和:,sumReturn练习19 满足下列两个条件: (1)千位数字与百位数字相同(非0),十位数字 与个位数字相同; (2)是某两位数的平方 的四位正整数称为四位平方数。例如:7744=882则称7744为四位平方数。求出: 所有四位平方数的数目; 所有四位平方数之和。 程序lx19.prgset talk offclearn=0ssum=0for k=10 to 99 bfs=k2 cc1=ltrim(str(bfs) lenth=len(cc1) if lenth=4 if subs

15、tr(cc1,1,1)=substr(cc1,2,1) and; substr(cc1,1,1)0 and substr(cc1,3,1)=substr(cc1,4,1) n=n+1 ssum=ssum+bfs endif endifendfor? 所有四位平方数的数目是:,n? 所有四位平方数之和是:,ssumset talk on return练习20 其平方等于某两个正整数平方之和的正整数称为弦数。例如,32 +42=52,因此5为弦数。求121,130之间:(1)弦数的数目(2)最小弦数(3)最大弦数 程序:lx20.prgset talk offclearn=0max=121min=130for k=121 to 130 flag=0 for i=1 to 130 for j=1 to 130 if i2+j2=k2 if kmax max=k endif if kmin min=k endif n=n+1 flag=1 exit endif endfor if flag=1 exit endif endfor endfor? 弦数的数目是:,n? 最大的弦数是:,max? 最小的弦数是:,minset talk onReturn

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

当前位置:首页 > IT计算机 > C/C++资料

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

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

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