Visual foxpro程序设计练习题.docx

上传人:b****6 文档编号:6940749 上传时间:2023-01-12 格式:DOCX 页数:14 大小:20.03KB
下载 相关 举报
Visual foxpro程序设计练习题.docx_第1页
第1页 / 共14页
Visual foxpro程序设计练习题.docx_第2页
第2页 / 共14页
Visual foxpro程序设计练习题.docx_第3页
第3页 / 共14页
Visual foxpro程序设计练习题.docx_第4页
第4页 / 共14页
Visual foxpro程序设计练习题.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

Visual foxpro程序设计练习题.docx

《Visual foxpro程序设计练习题.docx》由会员分享,可在线阅读,更多相关《Visual foxpro程序设计练习题.docx(14页珍藏版)》请在冰豆网上搜索。

Visual foxpro程序设计练习题.docx

Visualfoxpro程序设计练习题

Visualfoxpro程序设计练习题

1、求[10,1000]内所有能被被7和9中至少一个数整除的整数之个数。

答案:

236

n=0

fori=10to1000

 ifmod(i,7)=0ormod(i,9)=0

      n=n+1

 endi

endf

?

n

2、求[101,299]内所有能被2整除但不能同时被3和5整除的整数之和。

答案:

18630

s=0

fori=101to299

 ifmod(i,2)=0andnot(mod(i,3)=0andmod(i,5)=0)

      s=s+i

 endi

endf

?

s

3、求100以内最大的自然数n,使得从1开始的连续n个自然数的倒数之和小于3.5。

答案:

18

s=0

fori=1to100

 s=s+1/i

 ifs>=3.5

   exit

endi

endf

?

i-1

4、求100以内最小的自然数n,使得从1开始的连续n个自然数的立方之和大于30000。

答案:

25

s=0

fori=1to100

 s=s+i^3

 ifs>30000

   exit

endi

endf

?

i

5、求出100以内使得算式1*2+2*3+…+n*(n+1)的值小于5000的最大的自然数n。

答案:

23

s=0

fori=1to100

 s=s+i*(i+1)

 ifs>=5000

   exit

endi

endf

?

i-1

6、求出100以内使得算式1/(1*1)+1/(2*2)+…+1/(n*n)的值小于1.6的最大的自然数n。

答案:

21

s=0

fori=1to100

 s=s+1/i^2

 ifs>=1.6

   exit

endi

endf

?

i-1

7、某国今年的人口总数为1亿,若以每年4%的速度递增,试求出至少要再过几年该国人口总数才会翻一翻。

答案:

18

n=0

x=1

dowhilex<2

x=x*(1+0.04)

 n=n+1

enddo

?

n

8、设等比数列:

1,3,9,27,…。

求使得此数列的前n项之和大于2345678的最小的自然数n。

答案:

14

s=0

n=0

dowhiles<=2345678

 s=s+3^n

 n=n+1

enddo

?

n

9、求出45678的所有非平凡因子(即除1和它本身以外的约数)中是奇数的因子个数。

答案:

7

n=0

s=45678

fori=3to22839step2

  ifmod(s,i)=0

    n=n+1

  endif

endfor

?

n

10、求出203267的所有真因子(即小于它本身的约数)中最大的因子数。

答案:

6557

s=203267

fori=1toint(203267/3)

ifmod(s,i)=0

     n=i

  endif

endfor

?

n  

11、求出20677和42067的最大公约数。

答案:

713

fori=20677to1step-1

  ifmod(20677,i)=0andmod(42067,i)=0

     exit

  endif

endfor

?

i

12、求前[1,100]内能被6或8整除的所有自然数的平方根的和(将第1位小数四舍五入,结果只保留整数)。

答案:

162

s=0

fori=1to100

  ifmod(i,6)=0ormod(i,8)=0

     s=s+sqrt(i)

  endif

endfor

?

round(s,0)

13、求所有符合算式ab*ba=2701的最小的两位数ab(即a*10+b)。

其中a、b是1~9之间的一位整数。

答案:

37

fora=1to9

 forb=1to9

    if(a*10+b)*(b*10+a)=2701

       ?

a*10+b 

       return

    endif

 endfor

endfor

14、已知数列:

1,2,4,7,11,16,…,其规律是相邻两项之差依次是1,2,3,4,5,…。

试求出此数列中大于5000的最小的项。

答案:

5051

a=1

n=1

dowhilea<5000

  a=a+n

  n=n+1

enddo

?

a

15、已知数列{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。

答案:

20

Dimensionf(100)

f

(1)=1

f

(2)=4

n=2

dowhilef(n)<87654321

 n=n+1

f(n)=3*f(n-1)-f(n-2)

enddo

?

n

16、一球从100米高处落至平地,并且连续多次再反弹再落下,假设每次反弹的高度都是前一高度的3/4倍,试求出最大的自然数n,使得此球从开始下落至第n次着地时在垂直方向所经过的总路程不超过690米。

答案:

15

h=100

s=100

n=1

dowhiles<690

 h=h*3/4

s=s+2*h

 n=n+1

enddo

?

n-1

17、设有用26个字母表示的26个表达式:

a=1,b=1/(a+1),c=1/(b+2),…,z=1/(y+25)。

试求出这26个字母中其值小于0.1的字母个数。

答案:

16

a=1

n=0

fori=1to25

 a=1/(a+i)

 ifa<0.1

n=n+1

 endif

endfor

?

n

18、 回文指的是正读和反读都一样的一串字符,如121、1221。

试求出[1421,4112]内所有回文数的和。

答案:

74250

s=0

fori=1421to4112

 ifint(i/1000)=i%10andint(i/100)%10=int(i%100/10)

s=s+i

 endif

endfor

?

s

19、求在[100,999]内所有不含数字0且各位数字之积被96整除的数之和。

答案:

26640

s=0

fora=1to9

 forb=1to9

forc=1to9

  if(mod(a*b*c,96)=0)

     s=s+a*100+b*10+c

  endi

endf

 endf

endf

?

s

  

20、将大于1000且能被4和6中至少一个数整除的所有整数按从小到大顺序排列后,求前面20个数之和。

答案:

20610

a=1001

n=0

s=0

dowhilen<20

 ifmod(a,4)=0ormod(a,6)=0

s=s+a

   n=n+1

endif

a=a+1

enddo

?

s

  

21、若一个自然数恰好是它的平方的末后几位数,则称此数为自同构数。

如5和76都是自同构数,因为它们的平方分别是25和5776。

求[2,99999]内所有自同构数之和。

(提示:

若x是m位同构数,则x的平方除以10的m次方的余数就是x)

答案:

101114

s=0

fori=2to999999

 ifmod(i*i,10)=iormod(i*i,100)=iormod(i*i,1000)=iormod(i*i,10000)=iormod(i*i,100000)=i

s=s+i

 endif

endfor

?

s

22、求满足条件A*B=54321且使A+B的值最小的自然数对A、B中较小的一个数。

(提示:

设A<=B,当A越大时A+B越小)

答案:

57

s1=54322

fori=1toint(sqrt(54321)) 

  if(54321%i==0)

 s=i+54321/i

 if(s<=s1)

  s1=s

  a=i

 endif

  endif

endfor

?

a

23、已知数列:

1、2、4、7、10、15、…,其特点是:

相邻两项之差恰好构成自然数列:

1、2、3、4、5、…。

求此数列的前100项中能被4整除的项的个数。

答案:

25

m=0

a=1

forn=1to99

 a=a+n

 ifa%4==0

m=m+1

 endif

endfor

?

m

24、求出将十进制整数98765432等值转换为二进制形式表示后其中数字1的个数。

(提示:

模拟人工计算的“2除取余”法)

答案:

13

c=98765432

n=0

dowhilec>0

 if(c%2==1)

n=n+1

 endif

 c=int(c/2)

enddo

?

n

25、对自然数A、B、C,若A

试求出弦为25000的勾股弦数组的个数。

答案:

5

n=0

forb=12500to25000

  fora=1tob-1

ifa*a+b*b=25000*25000

 n=n+1

endif

  endfor

endfor 

?

n

26、求方程3x-7y=1在条件|x|<100且|y|<40下的整数解的个数。

答案:

26

n=0

forx=-99to99

 fory=-39to39

if3*x-7*y==1

 n=n+1

endif

 endfor

endfor

?

n

27、已知数列{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。

答案:

19

dimef(100)

f

(1)=1

f

(2)=4

s=5

forn=3to100

 f(n)=3*f(n-1)-f(n-2)

 s=s+f(n)

 ifs>75364321

exit

 endif

endfor

?

n

28、求100-200内的所有素数的个数。

(素质是指只能被1和本身整除的数)   

答案:

21

n=0

fori=100to200

 forj=2toi-1

if(i%j==0)

  exit

endif

 endfor

 ifj==i

n=n+1

 endif

endfor

?

n

29、求1000-10000内的第50个素数。

(素质是指只能被1和本身整除的数)

答案:

1361

n=0

fori=1000to10000

 forj=2toi-1

if(i%j==0)

  exit

endif

 endfor

 ifj==i

n=n+1

 endif

 ifn==50

exit

 endif

endfor

?

i

30、编写程序,计算10000以内有多少个这样的数,其个位数为6且该数能被9整除。

答案:

111

n=0

fori=1to10000

  ifi%10==6andi%9==0

n=n+1

endif

endfor

?

n

31、设某四位数的各位数字的平方和等于100,问共有多少个这种四位数?

答案:

49

n=0

fori=1000to9999

 a=int(i/1000)

 b=int(i/100)%10

 c=int(i/10)%10

 d=i%10

 ifa^2+b^2+c^2+d^2=100

n=n+1

 endif

endfor

?

n

32、把一张一元钞票,换成一分、二分和五分硬币,每种至少11枚,问有多少种方案?

答案:

13

n=0

fora=11to20

 forb=11to50

forc=11to100

        if a*5+b*2+c=100

          n=n+1

        endif

     endfor 

endfor

endfor

?

n

 

33、把一张一元钞票,换成一分、二分和五分硬币,每种至少1枚,问兑换后硬币总数最多的与硬币总数最少的枚数之差是多少?

答案:

73

max=3

min=300

fora=1to20

 forb=1to50

forc=1to100

       if a*5+b*2+c=100 

s=a+b+c

if(s>max)

            max=s

         endif

         if(s

min=s

         endif

       endif

endfor 

endfor

endfor

?

max-min

34、找满足以下条件:

 X^2+Y^2=41^2且X+Y之值最大的二个正整数X,Y,求X+Y之值.

答案:

49

max=41

forx=1to41

 fory=xto41

if x*x+y*y=41*41andmax

  max=x+y

endif

 endfor

endfor

?

max

   

35、已知24有8个正整数因子(即:

1,2,3,4,6,8,12,24),而24正好被其因子个数8整除。

求[100,300]之间能被其因子数目整除的数的个数。

答案:

19

m=0

fori=100to300

 n=0

 forj=1toi

ifi%j=0

 n=n+1

endif

 endfor

 ifi%n=0

m=m+1

 endif

endfor

?

m

36、求S=1-1/2+1/3-1/4+.....的前100项之和(精确到小数点后4位)

答案:

0.6882

f=1

s=0

forn=1to100

 s=s+f*1/n

 f=-f

endfor

?

round(s,4)

37、编写程序,求共有几组i、j、k符合算式ijk+kji=1333,其中i、j、k是0~9之间的一位整数。

答案:

6

n=0

fori=0to9

 forj=0to9

fork=0to9

 ifi*100+j*10+k+k*100+j*10+I=1333

   n=n+1

 endif

endfor

 endfor

endfor

?

n

38、编写程序,求在四位数的偶数中,所有各位数字之和是30的倍数的数的和。

答案:

288840

sum=0

fori=1000to9999step2

 a=int(i/1000)

 b=int(i/100)%10

 c=int(i/10)%10

 d=i%10

 if(a+b+c+d)%30=0

sum=sum+i

 endif

endfor

?

sum

39、编写程序,求1到5000之间的能被5整除的前若干个偶数之和,当和值大于500时退出,输出该和值。

答案:

550

s=0

fori=2to5000step2

 ifi%5=0

  s=s+i

  ifs>500

exit

  endif

 endif

endfor

?

s

40、一个数如果刚好与它所有的因子之和相等,则称该数为一个"完数",如:

6=1+2+3,则6就是一个完数。

求出200到500之间所有的完数之和。

答案:

496

sum=0

fori=200to500

 s=0

 forj=1toi-1

ifi%j=0

 s=s+j

endif

 endfor

 ifs=i

sum=sum+i

 endif

endfor

?

sum

41、编写程序,求在5000以内能被17或者23整除的正整数的个数。

答案:

499

n=0

fori=1to5000

 ifi%17=0ori%23=0

n=n+1

 endif

endfor

?

n

42、编写程序,求四位数的偶数中,所有各位数字之和是15的倍数的数的个数。

答案:

306

n=0

fori=1000to9999step2

 a=int(i/1000)

 b=int(i/100)%10

 c=int(i/10)%10

 d=i%10

 if(a+b+c+d)%15=0

n=n+1

 endif

endfor

?

n

43、编写程序,计算在0~50的范围内有多少个数,其每位数的乘积大于每位数的和。

答案:

23

n=0

fori=0to50

 a=int(i/10)

 b=i%10

 ifa*b>a+b

n=n+1

 endif

endfor

?

n

44、用一元纸币兑换一分、两分和五分的硬币,要求兑换硬币的总数为60枚,问共有多少种换法?

(注:

在兑换中,一分、两分或五分的硬币数可以为0枚)

答案:

11

n=0

fora=0to20

 forb=0to50

c=60-a-b

        if a*5+b*2+c=100

          n=n+1

        endif

  endfor

endfor

?

n

45、编写程序,求出100到500之间同时满足除5余4和除7余2条件的数的个数。

答案:

12

n=0

fori=100to500

 ifi%5=4andi%7=2

n=n+1

endif

endfor

?

n

46、有5羊4犬3鸡2兔值钱1496,4羊2犬6鸡3兔值钱1175,3羊1犬7鸡5兔值钱958,2羊3犬5鸡1兔值钱861,求鸡值多少钱?

答案:

23

fora=1to300

 forb=1to300

forc=1to170

 d=861-2*a-3*b-5*c

 if4*a+2*b+6*c+3*d=1175and3*a+b+7*c+5*d=958and5*a+4*b+3*c+2*d=1496

   ?

c

   return

 endif

endfor

endfor

endfor

47、编写程序,求出3到100之间的所有非偶数非素数的数之和。

答案:

1441

s=0

fori=3to100step2

 forj=2toi-1 

ifi%j=0

 exit

endif

 endfor

 ifj

s=s+i

 endif

endfor

?

s

48、有50个学生一起买小吃,共花钱200元,其中每个大学生花5元,每个中学生花3元,每个小学生花2元,问大、中、小学生的人数分配共有多少种不同的解(去掉某类学生为0的)?

答案:

8

n=0

forx=1to40

 fory=1to70

  z=50-x-y

  ifx*5+y*3+z*2=200

n=n+1

  endif

 endfor

endfor

?

n

49、编写程序,统计1000~9999之间的所有满足以下条件的四位数的个数。

该数是一个完全平方数,且其第1、2位数字之和为10,第3、4位数字之积为18。

答案:

1

k=0

n1=int(sqrt(1000))

forn=n1to99

   m=n*n

   a=int(m/1000)

   b=int(m/100)%10

   c=int(m/10)%10

d=m%10

ifa+b=10andc*d=18

 k=k+1

endif

endfor

?

k

50、编写程序,求一正整数等差数列的前五项的立方和,该数列前四项之和是26、之积是880。

答案:

4720

fora=1to5

 ford=1to4

if 4*a+6*d=26anda*(a+d)*(a+2*d)*(a+3*d)=880

  ?

a^3+(a+d)^3+(a+2*d)^3+(a+3*d)^3+(a+4*d)^3

endif

 endfor

endfor

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

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1