您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > Visualfoxpro程序设计练习题及答案
Visualfoxpro程序设计练习题求[10,1000]内所有能被被7和9中至少一个数整除的整数之个数。答案:236n=0fori=10to1000ifmod(i,7)=0ormod(i,9)=0n=n+1endiendf?n求[101,299]内所有能被2整除但不能同时被3和5整除的整数之和。答案:18630s=0fori=101to299ifmod(i,2)=0andmod(i,3)0ormod(i,5)0s=s+iendiendf?s3、求100以内最大的自然数n,使得从1开始的连续n个自然数的倒数之和小于3.5。答案:18s=0fori=1to100s=s+1/iifs=3.5exitendiendf?i-14、求100以内最小的自然数n,使得从1开始的连续n个自然数的立方之和大于30000。答案:25s=0fori=1to100s=s+i^3ifs30000exitendiendf?i5、求出100以内使得算式1*2+2*3+…+n*(n+1)的值小于5000的最大的自然数n。答案:23s=0fori=1to100s=s+i*(i+1)ifs=5000exitendiendf?i-16、求出100以内使得算式1/(1*1)+1/(2*2)+…+1/(n*n)的值小于1.6的最大的自然数n。答案:21s=0fori=1to100s=s+1/i^2ifs=1.6exitendiendf?i-17、某国今年的人口总数为1亿,若以每年4%的速度递增,试求出至少要再过几年该国人口总数才会翻一翻。答案:18n=0x=1dowhilex2x=x*(1+0.04)n=n+1enddo?n8、设等比数列:1,3,9,27,…。求使得此数列的前n项之和大于2345678的最小的自然数n。答案:14s=0n=0dowhiles=2345678s=s+3^nn=n+1enddo?n9、求出45678的所有非平凡因子(即除1和它本身以外的约数)中是奇数的因子个数。答案:7n=0s=45678fori=3to22839step2ifmod(s,i)=0n=n+1endifendfor?n10、求出203267的所有真因子(即小于它本身的约数)中最大的因子数。答案:6557s=203267fori=1toint(203267/3)ifmod(s,i)=0n=iendifendfor?n11、求出20677和42067的最大公约数。答案:713fori=20677to1step-1ifmod(20677,i)=0andmod(42067,i)=0exitendifendfor?i12、求前[1,100]内能被6或8整除的所有自然数的平方根的和(将第1位小数四舍五入,结果只保留整数)。答案:162s=0fori=1to100ifmod(i,6)=0ormod(i,8)=0s=s+sqrt(i)endifendfor?round(s,0)13、求所有符合算式ab*ba=2701的最小的两位数ab(即a*10+b)。其中a、b是1~9之间的一位整数。答案:37fora=1to9forb=1to9if(a*10+b)*(b*10+a)=2701?a*10+breturnendifendforendfor14、已知数列:1,2,4,7,11,16,…,其规律是相邻两项之差依次是1,2,3,4,5,…。试求出此数列中大于5000的最小的项。答案:5051a=1n=1dowhilea5000a=a+nn=n+1enddo?a15、已知数列{f(n)}:f(1)=1,f(2)=4,当n=3,4,5,…时,f(n)=3*f(n-1)-f(n-2)。试求出100以内最小的自然数n使得此数列的第n项大于87654321。答案:20Dimensionf(100)f(1)=1f(2)=4n=2dowhilef(n)87654321n=n+1f(n)=3*f(n-1)-f(n-2)enddo?n16、一球从100米高处落至平地,并且连续多次再反弹再落下,假设每次反弹的高度都是前一高度的3/4倍,试求出最大的自然数n,使得此球从开始下落至第n次着地时在垂直方向所经过的总路程不超过690米。答案:15h=100s=100n=1dowhiles690h=h*3/4s=s+2*hn=n+1enddo?n-117、设有用26个字母表示的26个表达式:a=1,b=1/(a+1),c=1/(b+2),…,z=1/(y+25)。试求出这26个字母中其值小于0.1的字母个数。答案:16a=1n=0fori=1to25a=1/(a+i)ifa0.1n=n+1endifendfor?n18、回文指的是正读和反读都一样的一串字符,如121、1221。试求出[1421,4112]内所有回文数的和。答案:74250s=0fori=1421to4112ifint(i/1000)=i%10andint(i/100)%10=int(i%100/10)s=s+iendifendfor?s19、求在[100,999]内所有不含数字0且各位数字之积被96整除的数之和。答案:26640s=0fora=1to9forb=1to9forc=1to9if(mod(a*b*c,96)=0)s=s+a*100+b*10+cendiendfendfendf?s20、将大于1000且能被4和6中至少一个数整除的所有整数按从小到大顺序排列后,求前面20个数之和。答案:20610a=1001n=0s=0dowhilen20ifmod(a,4)=0ormod(a,6)=0s=s+an=n+1endifa=a+1enddo?s21、若一个自然数恰好是它的平方的末后几位数,则称此数为自同构数。如5和76都是自同构数,因为它们的平方分别是25和5776。求[2,99999]内所有自同构数之和。(提示:若x是m位同构数,则x的平方除以10的m次方的余数就是x)答案:101114s=0fori=2to999999ifmod(i*i,10)=iormod(i*i,100)=iormod(i*i,1000)=iormod(i*i,10000)=iormod(i*i,100000)=is=s+iendifendfor?s22、求满足条件A*B=54321且使A+B的值最小的自然数对A、B中较小的一个数。(提示:设A=B,当A越大时A+B越小)答案:57s1=54322fori=1toint(sqrt(54321))if(54321%i==0)s=i+54321/iif(s=s1)s1=sa=iendifendifendfor?a23、已知数列:1、2、4、7、10、15、…,其特点是:相邻两项之差恰好构成自然数列:1、2、3、4、5、…。求此数列的前100项中能被4整除的项的个数。答案:25m=0a=1forn=1to99a=a+nifa%4==0m=m+1endifendfor?m24、求出将十进制整数98765432等值转换为二进制形式表示后其中数字1的个数。(提示:模拟人工计算的“2除取余”法)答案:13c=98765432n=0dowhilec0if(c%2==1)n=n+1endifc=int(c/2)enddo?n25、对自然数A、B、C,若ABC且A*A+B*B=C*C,则称{A,B,C}为一组勾股弦数,其中A、B、C分别称为勾、股、弦。试求出弦为25000的勾股弦数组的个数。答案:5n=0forb=12500to25000fora=1tob-1ifa*a+b*b=25000*25000n=n+1endifendforendfor?n26、求方程3x-7y=1在条件|x|100且|y|40下的整数解的个数。答案:26n=0forx=-99to99fory=-39to39if3*x-7*y==1n=n+1endifendforendfor?n27、已知数列{f(n)}:f(1)=1,f(2)=4,当n=3,4,5,…时,f(n)=3*f(n-1)-f(n-2)。试求出100以内最大的自然数n使得此数列的前n项之和首次大于75364321。答案:19dimef(100)f(1)=1f(2)=4s=5forn=3to100f(n)=3*f(n-1)-f(n-2)s=s+f(n)ifs75364321exitendifendfor?n28、求100-200内的所有素数的个数。(素质是指只能被1和本身整除的数)答案:21n=0fori=100to200forj=2toi-1if(i%j==0)exitendifendforifj==in=n+1endifendfor?n29、求1000-10000内的第50个素数。(素质是指只能被1和本身整除的数)答案:1361n=0fori=1000to10000forj=2toi-1if(i%j==0)exitendifendforifj==in=n+1endififn==50exitendifendfor?i30、编写程序,计算10000以内有多少个这样的数,其个位数为6且该数能被9整除。答案:111n=0fori=1to10000ifi%10==6andi%9==0n=n+1endifendfor?n31、设某四位数的各位数字的平方和等于100,问共有多少个这种四位数?答案:49n=0fori=1000to9999a=int(i/1000)b=int(i/100)%10c=int(i/10)%10d=i%10ifa^2+b^2+c^2+d^2=100n=n+1endifendfor?n32、把一张一元钞票,换成一分、二分和五分硬币,每种至少11枚,问有多少种方案?答案:13n=0fora=11to20forb=11to50forc=11to100ifa*5+b*2+c=100n=n+1endifendforendforendfor?n33、把一张一元钞票,换成一分、二分和五分硬币,每种至少1枚,问兑换后硬币总数最多的与硬币总数最少的枚数之差是多少?答案:73max=3min=300fora=1to20forb=1to50forc=1to100ifa*5+b*2+c=100s=a+b+cif(smax)max=sendifif(smin)min=sendifendifendforendforendfor?max-min34、找满足以下条件:X^2+Y^2=41^2且X+Y之值最大的二个正整数X,Y,求X+Y之值.答案:49max=41forx=1to41fory=xto41ifx*x+y*y=41*41andmaxx+ymax=x+yendifendforendfor?max35、已知24有8个正整数因子(即:1,2,3,4,6,8,12,24),而24正好被其因子个数8整除。求[100,300]之间能被其因子数目整除的数的个数。答案:19m=0fori=100to300n=0forj=1toiifi%j=0n=n+1endifendforifi%n=0m=m+1endifendfor?m36、求S=1-1/2+1/3-1/4+.....的前100项之和(精确到小数点后4位)答案:0.6882f=1s=0forn=1to100s=s+f*1/nf=-fendfor?round(s,4)37、编写程序,求共有几组i、j、k符合算式ijk+kji=1333,其中i、j、k是0~9之间的一位整数。答案:6n=0fori=0to9forj=0to9fork=0to9ifi*100+j*10+k+k*100+j*10+I=1333n=n+1endifendforendforendfor?n38、编写程序,求在四位数的偶数中,所有各位数字之和是30的倍数的数的和。答案:288840sum=0fori=1000to9999step2a=int(i/1000)b=int(i/100)%10c=int(i/10)%10d=i%10if(a+b+c+d)%3
本文标题:Visualfoxpro程序设计练习题及答案
链接地址:https://www.777doc.com/doc-5596190 .html