程序(真题选 - 附部分答案)
更新时间:2023-10-26 16:09:01 阅读量: 综合文库 文档下载
- 英语真题在选推荐度:
- 相关推荐
程序操作题
一、特殊数字问题
编程求所有的水仙花数。水仙花数是指这样的三位数,其各位数字的立方和等于该数本身。如: 13+53+33=153
clear && 清理屏幕 for i=100 to 999 && 判断的范围定围100到999 a=int(i/100) && 分离出i的百位 b=int(i/10) && 分离除出i的十位 c=i && 分离出i的个位 if i=a^3+b^3+c^3 && 判断是否满足条件 ?i && 显示水仙花数的值 endif endfor retu
(答案:153 370 371 407)
回文数是指正读和反读都一样的正整数。例如1221是回文数。求出[1000,9999]以内的所有回文数的个数。
clear && 清理屏幕 n=0 && 用来保存回文数的个数 for i=1000 to 9999 && 判断的范围 qw=int(i/1000) && 分离出i的千位 bw=int(i/100)-qw*10 && 分离出i的百位 sw=int(i/10)-int(i/100)*10 && 分离除出i的十位
gw=mod(i,10) && 分离出i的个位
if qw=gw and bw=sw &&如果千位和个位相等并且十位和百位相等
n=n+1 && 累加求和 ?n,i && 显示回文数的个数,值 endif
endfor (答案:90)
同构数是指这样一个正整数,它出现在它的平方数的右边。例如 5 的平方是 25,5出现在其平方数25的右边,25 的平方是 625,25 出现在其平方数 625 的右边,因此 5 和 25 都是同构数。求[2,1000]之间同构数的个数。(提示:若x是m位同构数,则x的平方除以)(10的m次方的余数就是x
若x是m位同构数,则x的平方除以10的m次方的余数就是x)
clear n=0
for x=2 to 1000 y=x*x
m=len(ltrim(str(x))) && 设x是m位数 if mod(y,10^m)=x n=n+1 endif endfor ? n retu
(答案:6)
若一个四位正整数是另一个正整数的平方,且各位数字的和是一个平方数,则称该四位正整数是“四位双平方数”。例如:由于7396=86^2,且
7+3+9+6=25=5^2,则称7396是“四位双平方数”。求所有“四位双平方数”的和。 clear s=0
for i=1000 to 9999 a=int(i/1000)
b=mod(int(i/100),10) c=mod(int(i/10),10) d=mod(i,10) x=a+b+c+d
if int(sqrt(x))*int(sqrt(x))=x and int(sqrt(i))*int(sqrt(i))=i
&&if sqrt(x)=int(sqrt(x)) and sqrt(i)=int(sqrt(i)) s=s+i endif endfor ? s return
(答案:81977)
勾股数组(勾股弦数)是满足公式: A^2+B^2=C^2 (假定A
n=0 && 用来保存倒勾股数组的个数 for c=1 to 100 && c的判断的范围定为1到100 for b=1 to c && b的判断的范围定为1到c a=int(sqrt(c*c-b*b)) if a*a+b*b=c*c and a
endfor
endfor ? n return 答案(52) 倒勾股数是满足公式: 1/A^2+1/B^2=1/C^2 的一组正整数(A,B,C),例如,(156,65,60)是倒勾股数,因为:1/156^2+1/65^2=1/60^2。假定A>B>C,求A,B,C均小于或等于100的倒勾股数有多少组? clear && 清理屏幕 n=0 && 用来保存倒勾股数组的个数 for a=1 to 100 && 判断的范围定为1到100 for b=1 to a && 判断的范围定为1到a c=sqrt(1/a^2+1/b^2) && c的值为1/a^2+1/b^2开平方 if 1/c=int(1/c) and sqrt(1/c)<=100 && 如果1/c是平方数且c不超过100 n=n+1 && 计数器+1 ? n,a,b,int(1/c) && 显示个数,a,b,c 及他们产生的平方数 endif endfor endfor ? n retu 对自然数A、B、C,若A3 exit endif endfor retu (答案:959) 求出20677和42067的最大公约数 clear a=20677 b=42067 for d=1 to a if mod(a,d)=0 and mod(b,d)=0 max=d endif endfor ? max return 答案: 713 求出 9269 和 8671 的最小公倍数。(算法提示:a与b的最小公倍数是 a 的倍数中第1个被b整除的
数。) clear a=9269 b=8671
for k=a to a*b step a if mod(k,b)=0 exit endif endfor ? k return
(答案:268801)
500之内能被3或7整除但不能被5和2整除,求满足以上条件的数的个数与他们的和。 clear
n=0 && 保存满足条件的个数 s=0 && 保存满足条件的数的和 for i=1 to 500
if (mod(i,3)=0 or mod(i,7)=0) and mod(i,2)!=0 and mod(i,5)!=0
&& if (mod(i,3)=0 or mod(i,7)=0) and not (mod(i,2)=0 or mod(i,5)=0)
&& 判断是否满足“能被3或7整除但不能被2和5整除”
n=n+1 && 计数器+1 s=s+i && 累加求和 endif endfor ?n,s
三、因子问题
求559399的所有非平凡因子(即除1和它 本身以外的约数)中最小的 clear a=559399 for n=2 to a if mod(a,n)=0 ?n
exit endif endfor
return
答案:73 求出203267的所有真因子(即小于它
本身的约数)中最大的因子数 clear a=203267 n=0
for b=1 to a-1 if mod(a,b)=0 max=b endif endfor
? max return
利用分解质因数的方法求出18000中含有质因数的个数(相同的重复计数,例如,180中含有5个质因数:2、2、3、3、5)。 set talk off clear x=18000 n=0 k=2
do while x>1 if mod(x,k)=0 n=n+1 x=x/k loop endif k=k+1 enddo ? n
set talk on return
利用分解质因数的方法求出18000中的最大质因数(例如,180中最大质因数为5)。 set talk off set talk off clear a=18000 max=1 b=2
do while a>1 if mod(a,b)=0 max=b && ?b a=a/b
loop endif b=b+1 enddo ? max
set talk on return
某些分子和分母都是二位正整数的真分数具有下列特点:如果将该分数的分子个位数和分母十位数同时去掉,所得结果正好等于原分数约分后的结果,例如16/64=1/4,求满足上述条件的所有真分数个数。 clea n=0
for i=10 to 98 for j=i+1 to 99 a=int(i/10) b=mod(j,10)
if i/j=a/b and b<>0 n=n+1 endif endfor endfor ?n retu
若某真分数满足下述条件: ①分子分母都是两位正整数;
②分子的两位数字之和与分母的两位数字之和组成新的分数,该分数与原分数的值相等,如:63/84=(6+3)/(8+4)。
求所有具有这种特点的真分子(非约简真分数)的个数以及分子与分母之和的和。 clear n=0 s=0
for a=11 to 99 && 分母 for b=10 to a-1 && 分子 a1=int(a/10) a2=mod(a,10) b1=int(b/10) b2=mod(b,10)
if (b1+b2)*a=b*(a1+a2) n=n+1 s=s+a+b *?a,b,s endif endfor endfor ? n,s return
分子分母为正整数,分子小于分母且分子分母无公因数的分数称为最简真分数。对于分数的分母取值范围为 [50, 90] 时的最简真分数共有多少个? clea n=0
for a=2 to 89 && 分子 for b=50 to 90 && 分母
if a
&& 判断分子和分母是否有公约数 gyz=x && 有公约数则不是最简真分数 exit endif endfor
if gyz=1 && 没有公约数则是最简真分数 n=n+1 endif endif endfor endfor ? n return endfor
一个正整数如果恰好等于其所有真因子之和,则称这个数为“完数”,(整数n的真因子是指除n以外的所有能整除n的数,如28的真因子有:1、2、4、7、14)。求[1,1000]中所有完数之和。 clear
set talk off n=0 s=0
for i=2 to 1000 t=0
for j=1 to i-1
if mod(i,j)=0 && j是i的真因子 t=t+j && 真因子之和 endif endfor
if t=i && i与其真因子之和t相等 n=n+1 s=s+i ?i endif endfor
?'n =',str(n,5) ?'s =',str(s,7) set talk on return
若某整数n的所有因子之和是n的倍数,则称 n 为多因子完备数,如28,其所有因子之和为56。求[1,500]之间有多少个多因子完备数。 clear
set talk off n=0
for i=1 to 500
t=0 && 存放所有因子之和 for j=1 to i if mod(i,j)=0
t=t+j && 所有因子之和 endif endfor
if mod(t,i)=0 &&因子之和是i的倍数 n=n+1 ?i endif endfor
?'n =',str(n,5) set talk on return
四、素数问题
素数 —— 仅能被1和它本身整除的数。编程求出[100,200]的素数的个数与他们的和。 set talk off clea n=0 s=0
for i=100 to 200
for j=2 to i-1 if mod(i,j)=0 exit endif endfor if j=i n=n+1 s=s+i endif endfor ? n,s return
一个自然数是素数,且它的数字位置经过任意对换后仍为素数,则称为绝对素数。如13,试求所有两位绝对素数的个数。 s=0
for i=10 to 99
j=mod(i,10)*10+int(i/10) f1=1
for k=2 to i-1 if mod(i,k)=0 f1=0 endif endfor f2=1
for k=2 to j-1 if mod(j,k)=0 f2=0 endif endfor
if f1=1 and f2=1 s=s+1 endif endfor ? s return
梅森尼数是指能使2^n-1为素数的数n,求[1, 21]范围内梅森尼数的最大值以及个数与和? set talk off clea max=0 s=2 n=0
正在阅读:
程序(真题选 - 附部分答案)10-26
霍乱防疫措施11-12
A施工组织设计09-13
美容院和SPA养生馆的差异03-08
温岭市社会保险人员领取养老金资格认证表04-17
蜗轮蜗杆传动设计资料06-22
区统计局2022年度工作规划范文04-04
颐和园小学作文06-15
冷却水中钙、镁离子的测定 - EDTA法09-11
- 小学生造句大全
- 增压泵投资项目可行性研究报告(模板)
- 高中语文人教版粤教版必修1-5全部文言文知识点归纳
- 两学一做专题民主生活会组织生活会批评与自我批评环节个人发言提
- 管理处环境保洁工作操作标准作业指导书
- 2012六一儿童节活动议程 - 图文
- 移树申请报告
- 《贵州省市政工程计价定额》2016定额说明及计算规则
- 计算机长期没有向WSUS报告状态
- 汉语拼音教学策略研究
- 发展西部领先的航空货运枢纽
- 司法所上半年工作总结4篇
- 如何提高银行服务水平
- 发电厂各级人员岗位职责
- 丰田汽车的外部环境分析
- 2017—2018年最新冀教版四年级数学下册《混合运算》教案精品优质
- 中建八局样板策划 - 图文
- 戚安邦《项目管理学》电子书
- 2015年高级项目经理笔记
- 弯桥的设计要点
- 真题
- 答案
- 部分
- 程序
- 腰果2019年国考第5季行测数量模拟题
- 宏观经济学1-7章
- 12路智能自动混音器操作说明V3.4 - 图文
- 第四讲P波方向来源分析 - 图文
- 《教育测量与评价》作业
- 排序 苏教版五年级上册
- 部编人教版语文七年级下册写作教案(全册)
- 管理经济学练习题
- 国家公务员考试暑期特训之申论模拟:干部人事制度改革
- 山东省2012年高考生物 各地市最新试题分类汇编10 遗传的细胞学基础和遗传定律(选择题部分)
- 同济 考研 2001-2013道交真题
- 宏观经济学练习题5
- 沁阳市实验小学2018-2019学年一年级下学期数学3月月考试卷
- 我的成长之路散文
- 刑法学教学大纲- China-EU School of Law, CUPL
- 吉大16春学期《环境法》在线作业二
- 校园一卡通v5.0 - 图文
- 催化裂化工艺计算与技术分析之绪论
- 第一单元生活与消费导学案
- 小学生应掌握--经典名句( 精华)