- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VFP程序设计题复习资料
一 求某范围内满足某种条件的问题(整除)
例:求出[10,1000]以内同时满足除以7余5,除以5余3,除以3余1的所有整数的个数。
源程序如下:
Set talk off
S=0 *为求个数设立一个变量
For I=10 to 1000
If I%7=5 and I%5=3 and I%3=1
S=s+I
Endif
? s *在屏幕上显示出结果
练习:
1. 编程序求1~60 所有整数的平方和并输出结果。
2. 编程序求1~85 的平方根和并输出结果。(保留小数点两位)
3. 编程序求出100 到200 之间同时满足除3 余2 和除5 余3 条件的数的个数。
4. 编程序求出1 到4000 之间的能被5 整除的前若干个偶数之和,当和大于400 时退出并输出结果。
5. 求[3333 ,6666] 之间所有能被5 整除同时能被7 整除的数, 问共有多少个这样的数?
二 数字分离
源程序如下:
Sum=0
Clear
For I=1001 to 9999 step 2
a4=int(i/1000) *取第四位上的数字
a3=int(i/100)%10
a2=int(i/10)%10
a1=i%10
If (a1+a2+a3+a4)%15=0
Sum=sum+I
Endif
Endfor
? sum
return
例2:求[100,10000]中其各位数字之和能被7整除的数的个数
源程序如下:
Set talk off
S=0 *用来记数的变量,定义在循环体外
For i =1000 to 9999
A4=int(i/1000) *取第四位上的数字
A3=int(i/100%10)
A2=int(i/10%10)
A1=i%10
If (a1+a2+a3+a4)%7=0 *满足的条件表达式
S=s+1 *求个数累加1
Endif
Endfor
?s *在循环结束后在显示要求的个数
例3:回文数是指正读和反读都一样的正整数。例如3773等都是回文数。所谓回文数是从左至右或从右至左读起来都是一样的数字,如:121是一个回文数。编写程序,求在1000—9000的范围内所有回文数个数。
源程序如下:
?clear
s=0
stor 0 to a,b,c,d,i
for i=1000 to 9999
a=int(i/1000)
b=int(i/100%10)
c=int(i/10%10)
d=i%10
if a=d and b=c
s=s+1
endif
endfor
? s
return
例 4:一个数出现在该数的平方数的右边,称这个数为“同构数”。例如,5出现在平方数25的右边,25出现在平方数625的右边,则5、25都是“同构数”。找出[1,1000]之间的所有“同构数”的个数。
源程序如下:
Clear
S=0
For I=1 to 1000
B=I**2
If b%10=I or b%100=I or b%1000=I
S=s+1
Endif
Endfor
? s
return
例5:若某整数N的所有因子之和等于N的倍数,则N称为多因子完备数,如数28,其因子之和 1+2+4+7+14+28=56=2*28,28是多因子完备数。求[1,200]之间有多少个多因子完备数。求在[10,1000]之间的所有完备数之和。各真因子之和(不包括自身)等于其本身的正整数称为完数。例如:6=1+2+3,6是完数。
源程序如下:
Clear
K=0
Sum=0 *用来保存结果即完数的和
For k= 10 to 1000
S=k
For I=1 to k-1
If (k%i)=0 满足条件的表示I是k的一个因子
S=s-I 将数k减去它的所有因子
Endif
Endfor
If s=0 s等于零表示s减去所有因子后为零,满足完数的条件
Sum=-sum+k
Endif
Endfor
?sum
return
例6:求五位数各数字的平方和为100的最大的五位数。
源程序如下:
Clear
For I=99999 to 10000 step –1
A5=int(i/10000)
A4=int(i/1000%10)
A3=int(i/100%10)
A2=int(i/10%10)
A1=I%10
If a5**2+a4**2+a3**
文档评论(0)