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

上传人:夺命阿水 文档编号:259544 上传时间:2023-03-30 格式: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》由会员分享,可在线阅读,更多相关《程序设计综合练习(二).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 enddo?最大的e数,e2=,e2?e的数目=,n,练习:计算1,10

2、00之间能被5和7整除的数。求出(按升序排列):(1)第20个这样的数。(700)(2)前20个这样的数之和。(7350)程序:lx2.prg set talk off clear i=1 n=0 s=0,do while i=1000 if int(i/5)=i/5.and.int(i/7)=i/7 n=n+1 s=s+i if n=20?第20个这样的数:,i exit endif endif i=i+1,enddo?前20个这样的数之和是,s set talk on return练习:已知:F(0)=F(1)=F(2)=1F(N)=F(N-1)-2F(N-2)+F(N-3)(N2)求:F

3、(50)F(0)+F(1)+F(50),程序:lx3.prg set talk off clear store 1 to f0,f1,f2 i=3 sum=3 do while i=50 f3=f2-2*f1+f0 sum=sum+f3 f0=f1,f1=f2 f2=f3 i=i+1 enddo?F(50)is,f3?F(0)+F(1)+.+F(50)is,sum,练习:已知:F(0)=F(2)=1F(1)=0F(N)=F(N-1)-2F(N-2)+F(N-3)(N2)求 F(0)到F(200)中:()正数个数;()零的个数。,程序:lx4.prg set talk off f0=1 f1=0

4、 f2=1 i=3 zs=2 ls=1 do while i=200 f3=f2-2*f1+f0,if f30 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)(N2)求 F(0)到 F(50)中的最大值和最小值。,程序:lx5.prg set talk off dime ff(51)ff(1)=1 ff(2)=1 ff(3)=0 i=4

5、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的最大质因子。,程序:lx6.prg set talk off i=1 maxzs=2 do while i12903/2 i=i+1 if int(12903/i)=12903/I flag=0 for n=2 to i-1 if int(i/n)=i/n flag=1 exit,endif next if

6、 flag=1 loop else if 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 set talk on return,练习:求100,999之间能被21整除的数的个 数。程序:lx

7、8.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 i478 i=i+1,flag=0 for j=2 to i-1 if int(i/j)=i/j flag=1 exit endif endfor if flag=1 loop else zsgs=zsgs+1,

8、zssum=zssum+i if izsmax zsmax=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 to i-1 if int(i/j)=i/j

9、 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(716699)a=a+1 if int(716699/a)=716699/a b=716699/a else loop e

10、ndif,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 offclearzsmax=1001zsmin=1999for i=1000 to 2000 flag=0 for j=2 to i-1 if int(i/j)=i/j flag=1 exit,end

11、if endfor if flag=1 loop else if izsmax zsmax=i endif,endifendfor?最大的质数是:,zsmax?最小的质数是:,zsminset talk onReturn练习13 若两素数之差为2,则称该素数为双胞胎数。求出2,300之内:最大的一对双胞胎数;有多少对双胞胎数。,程序: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?双胞胎

12、数的数目是:,nReturnfunction prime(num)flag=0if num=1 flag=1endif,for zspd=2 to sqrt(num)if int(num/zspd)=num/zspd flag=1 exit endifendforif flag=0 return.t.else return.f.endif,练习14 若两个自然连续数乘积减1后是素数,则称此两个自然连续数为友数对,该素数称为友素数。例如,2*3-1=5,因此,2与3是友数对,5是友素数。求2,99之间:友数对的数目;所有友素数之和。程序lx14.prgset talk offclearsm=0,

13、sum=0for i=2 to 98 ss=i*(i+1)-1 flag=0 for j=2 to sqrt(ss)if int(ss/j)=ss/j flag=1 exit endif endfor,if flag=1 loop else sm=sm+1 sum=sum+ss endifendfor?友数对的数目:,sm?所有友素数之和:,sumset talk onreturn,练习15 回文数是指正读和反读都一样的正整数。例如121是回文数。求出100,500以内的:回文数数目;所有回文数之和。程序:lx15.prgset talk offclearn=0sum=0for i=100 t

14、o 500,aa=alltrim(str(i)aa1=left(aa,1)aa2=right(aa,1)if aa1=aa2 n=n+1 sum=sum+i endifendfor?回文数的数目:,n?所有回文数之和:,sumset talk onreturn,练习16 若一自然数等于其所有真因子(不包括该数本身)之和,则称该数为完全数。例如:6的真因子有1,2,3,且6=1+2+3 因此6为完全数。求出2,10000之内:最大的完全数;完全数数目。程序:lx16.prgset talk offclearn=0mmax=1,for i=2 to 10000 sum=1 for j=2 to s

15、qrt(i)if int(i/j)=i/j bb=i/j sum=sum+j sum=sum+bb endif endfor,if sum=i n=n+1 if immax mmax=I endif endifendfor?最大的完全数是:,mmax?完全数的数目是:,nreturn,练习17 一自然数平方的末位与该数相同时,称此数为自同构数。例如,由于 5的平方=25,则称5为自同构数。求出1,700以内的:最大的自同构数;自同构数数目。程序:lx18.prgset talk offn=0tmax=1for i=1 to 700 bb=i2,cc1=ltrim(str(i)cc2=ltrim

16、(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的三位正整数,其平方数至少有三位同样的数字,则称该三位数为三重数。例如 5112=261121(有三位1),所以 511为三重数。求出:按升序排列第10个三重数;按升序排列前10个三重数之和;所有三重数之和。,程序:lx18.prgset talk offn=0 sum=0for k=1

17、00 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个三重数是:,k?前10个三重数之和是:,sum endif endif endforendfor,?所有三重数之和:,sumReturn练习19 满足下列两个条件:(1)千位数字与百位数字相同(非0),十位数字 与个位数字相同;(2)是某两位数的平方 的四位正整数称为四位平方数。例如:7744=882

18、则称7744为四位平方数。求出:所有四位平方数的数目;所有四位平方数之和。程序lx19.prg,set talk offclearn=0ssum=0for k=10 to 99 bfs=k2 cc1=ltrim(str(bfs)lenth=len(cc1)if lenth=4 if substr(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?所有四位平方数之和是:,ssums

19、et talk on return,练习20 其平方等于某两个正整数平方之和的正整数称为弦数。例如,32+42=52,因此5为弦数。求121,130之间:(1)弦数的数目(2)最小弦数(3)最大弦数 程序:lx20.prgset talk offclearn=0max=121min=130,for 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,

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

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号