看了这些 VFP不过都难.docx
- 文档编号:9590448
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:24
- 大小:20.09KB
看了这些 VFP不过都难.docx
《看了这些 VFP不过都难.docx》由会员分享,可在线阅读,更多相关《看了这些 VFP不过都难.docx(24页珍藏版)》请在冰豆网上搜索。
看了这些VFP不过都难
看了这些VFP不过都难
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 看了这些 VFP不过都难 这些 VFP 不过