Visual foxpro程序设计50题.docx

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

Visual foxpro程序设计50题.docx

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

Visual foxpro程序设计50题.docx

Visualfoxpro程序设计50题

Visualfoxpro程序设计50题

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

ifa*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

ifa*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

ifx*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

ifa*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

if4*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