当前位置:首页 > vf期末考试题库含答案
exit endif endfor if p=1 n=n+1 endif endfor
?共有素数个数:\return
2.统计[1000,5000]内所有既能被7整除,且至少有一位数字是9的数的个数。 clear n=0
for i=1000 to 5000
if i%7=0 and ‘9’$str(i) n=n+1 endif next ?n
3.编程序求出3000到5000之间同时满足除3余2和除5余3条件的数的个数。
4.已知a>b>c,且a+b+c<100,求满足条件1/(a^2)+1/(b^2)=1/(c^2)的共有多少组。 5.编程序求出1到5000之间同时满足除7余2和除9余5条件的数的和。
6.编程序,计算在0至50的范围内有多少个数,其每位数的乘积小于每位数的和。 7.求出[100,500]以内同时满足除以7余3,除以5余3,除以3余1的所有整数个数。 8.求[105,625]间能被7和11整除的自然数之和。
9.设s=1+1/2+1/3+?+1/n, n为正整数。编程求使S刚好超过6时的n。
10.有30个人在一家小餐馆里用餐,其中有男人、女人和小孩。每个男人花了3元,每个女人花了2元,每个小孩花了1元,一共花去50元,问有几种组合?
11.编写程序,求共有几组I、j、k符合算式ijk+kji=1333,其中I、j、k是0~9之间的一位整数。
12.一个数如果刚好与小于它的所有因子之和相等,则称该数为一个“完数”,如:6=1+2+3,则6就是一个完数。求出1000以内的所有的完数之和。 clear s=0
for x=1 to 1000 t=0
for i=1 to x-1 if x%i=0 t=t+i endif next if x=t s=s+x endif next ?s
程序设计分类
25
第1类题目:
求在某范围内的,满足被某数整除的数的个数(或这些数的和)
如:[1]编程序求出100到800之间同时满足除4余1和除5余3条件的数的个数。 clear n=0
for i=100 to 800
if mod(i,4)=1 and mod(i,5)=3 n=n+1 endif endfor ?n
[2]编程序,计算在0至70的范围内有多少个数,其每位数的乘积小于每位数的和。 clear n=0
for i=10 to 70 a=int(i/10) b=i if a*b [3]编程序求出1到100之间同时满足除3余2和除4余2条件的数的和。 clear s=0 for i=1 to 100 if mod(i,3)=2 and mod(i,4)=2 s=s+i endif endfor ?s [4]编程序求出1-600以内的能被5整除的数的平方和。 set talk off clear s=0 for i=1 to 600 if mod(i,5)=0 s=s+i*i endif endfor ?s [5]编写程序,统计区间[1000,9999]内所有能被6整除,且千位数字与个位数字之和为5的整数的个数。clear n=0 for a=1 to 9 for b=0 to 9 for c=0 to 9 26 for d=0 to 9 i=a*1000+b*100+c*10+d if mod(i,6)=0 and a+d=5 n=n+1 endif endfor endfor endfor endfor ?n 第2类题目:求阶乘数之和,或阶乘 如:[1] s=1!+2!+3!+....+10! clear s=0 t=1 i=1 for i=1 to 10 t=t*i s=s+t endfor ?s [2] 1!+2!+3!+....+n! 当s大于61000时结束累加,求n clear s=0 t=1 i=1 do while .t. t=t*i s=s+t if s>6100 exit endif i=i+1 enddo ?i [3] 2!+4!+6!....+10! clear s=0 t=1 i=1 for i=1 to 10 t=t*i if mod(i,2)=0 s=s+t endif endfor ?s [4] 3!+5!+7!+....+9! 27 clear s=0 t=1 i=1 for i=1 to 10 t=t*i if mod(i,2)=1 and i>=3 s=s+t endif endfor ?s [5]求15! clear s=0 for i=1 to 15 s=s*i endfor ?s 第3类题目:求某范围内的数据之和,当累加数大于某个数时,累加结束 [1]下面和程序是求1+3+5+7+9+11+?这样的奇数之和.若累加数大于10000时,则结束累加。 clear s=0 i=1 do while .t. s=s+i if s>10000 exit endif i=i+2 enddo ?s [2]设S=1+1/2+1/3+...+1/N,N为正整数。编程求使S不超过8的最大的N。 clear s=0 i=1 do while .t. s=s+1/i if s>8 exit endif i=i+1 enddo ?i-1 [3]设S=1+1/2+1/3+...+1/N,N为正整数。编程求当算到100项时S的值为多少?精确到小数点后两位。set talk off clear s=0 for i=1 to 100 28
共分享92篇相关文档