程序例题分类总结

上传人:woxinch****an2018 文档编号:54206333 上传时间:2018-09-09 格式:PPT 页数:118 大小:1.46MB
返回 下载 相关 举报
程序例题分类总结_第1页
第1页 / 共118页
程序例题分类总结_第2页
第2页 / 共118页
程序例题分类总结_第3页
第3页 / 共118页
程序例题分类总结_第4页
第4页 / 共118页
程序例题分类总结_第5页
第5页 / 共118页
点击查看更多>>
资源描述

《程序例题分类总结》由会员分享,可在线阅读,更多相关《程序例题分类总结(118页珍藏版)》请在金锄头文库上搜索。

1、1,特殊数字问题,数列问题,素数问题,整除问题,因子问题,其他典型问题,特殊数字问题,水仙花数,同构数,回文数,四位双平方数,倒勾股数,弦数,返回,勾股数组,3,clear & 清理屏幕 for i=100 to 999 & 判断的范围定围100到999a=int(i/100) & 分离出i的百位b=int(i/10)%10 & 分离除出i的十位c=i%10 & 分离出i的个位if i=a3+b3+c3 & 判断是否满足条件?i & 显示水仙花数的值 endif endfor retu,153 370 371 407,编程求所有的水仙花数。水仙花数是指这样的三位数,其各位数字的立方和等于该数本

2、身。如: 13+53+33=153,水仙花数,4,回文数是指正读和反读都一样的正整数。例如1221是回文数。求出1000,9999以内的所有回文数的个数。,回文数,5,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 & 累加

3、求和?n,i & 显示回文数的个数,值endif endfor,90,6,85,求1234,9876内回文数的个数 clearn=0for x=1234 to 9876a=int(x/1000)b=mod(int(x/100),10)c=mod(int(x/10),10)d=mod(x,10)if a=d and c=bn=n+1endif endfor ? n return,7,同构数是指这样一个正整数,它出现在它的平方数的右边。例如 5 的平方是 25,5出现在其平方数25的右边,25 的平方是 625,25 出现在其平方数 625 的右边,因此 5 和 25 都是同构数。 求2,1000

4、之间同构数的个数。 提示:若x是m位同构数,则x的平方除以 10的m次方的余数就是x,同构数,8,clear n=0 for x=2 to 1000y=x*xm=len(ltrim(str(x) & 设x是m位数if mod(y,10m)=xn=n+1endif endfor ? n retu,6,若x是m位同构数,则x的平方除以10的m次方的余数就是x,9,若一个四位正整数是另一个正整数的平方,且各位数字的和是一个平方数,则称该四位正整数是“四位双平方数”。例如:由于7396=862,且7+3+9+6=25=52,则称7396是“四位双平方数”。求所有“四位双平方数”的和。,四位双平方数,1

5、0,clear s=0 for i=1000 to 9999a=int(i/1000)b=mod(int(i/100),10)c=mod(int(i/10),10)d=mod(i,10)x=a+b+c+dif 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+iendif endfor ? s return,81977,11,勾股数组(勾股弦数)是满足公式: A2+B2=C2 (假定ABC)的一组正整数(A,B,C),例如,(3,4

6、,5)是勾股弦数,因为:32+42=52。求A,B,C均小于或等于100的勾股弦数的个数。,勾股数组,52,2018/9/9 11:17:54,12,clear n=0 & 用来保存倒勾股数组的个数 for c=1 to 100 & c的判断的范围定为1到100for b=1 to c & b的判断的范围定为1到ca=int(sqrt(c*c-b*b)if a*a+b*b=c*c and ab and bcn=n+1 & 计数器+1?n,a,b,c & 显示个数,a,b,cendifendfor endfor ? n return,方法1,52,2018/9/9 11:17:54,13,cle

7、ar n=0 & 用来保存倒勾股数组的个数 for a=1 to 100 & 判断的范围定为1到100for b=a+1 to 100 & 判断的范围定为1到ac=sqrt(a2+b2) & c的值为a2+b2开平方if c=int(c) and cBC,求A,B,C均小于或等于100的倒勾股数有多少组?,倒勾股数,5,2018/9/9 11:17:54,15,clear & 清理屏幕 n=0 & 用来保存倒勾股数组的个数 for a=1 to 100 & 判断的范围定为1到100for b=1 to a & 判断的范围定为1到ac=sqrt(1/a2+1/b2) & c的值为1/a2+1/b

8、2开平方if 1/c=int(1/c) and sqrt(1/c)=100& 如果1/c是平方数且c不超过100n=n+1 & 计数器+1? n,a,b,int(1/c) & 显示个数,a,b,c及他们产生的平方数endifendfor endfor ? n retu,5,16,对自然数A、B、C,若AB3exitendif endfor retu,959,最大公约数,求出20677和42067的最大公约数。,clear a=20677 b=42067 for d=1 to aif mod(a,d)=0 and mod(b,d)=0max=dendif endfor ? max return,

9、21,713,最小公倍数,求出 9269 和 8671 的最小公倍数。 算法提示:a与b的最小公倍数是 a 的倍数中第1个 被b整除的数。,clear a=9269 b=8671 for k=a to a*b step aif mod(k,b)=0exitendif endfor ? k return,268801,22,整除问题,500之内能被3或7整除但不能被5和2整除,求满足以上条件的数的个数与他们的和。,24,clear n=0 & 保存满足条件的个数 s=0 & 保存满足条件的数的和 for i=1 to 500 if (mod(i,3)=0 or mod(i,7)=0) and m

10、od(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 & 计数器+1s=s+i & 累加求和endif endfor ?n,s,个数85 和21085,25,因子问题,非平凡因子,真因子,质因子,非约简真分数,最简真分数,完数,多因子完数,返回,真分数,非平凡因子,clear a=559399 for n=2 to aif mod(a,n)=0?nexit endif endfor return,73

11、,26,求559399的所有非平凡因子(即除1和它 本身以外的约数)中最小的。,真因子,clear a=203267 n=0 for b=1 to a-1 if mod(a,b)=0 max=b endif endfor ? max return,6557,27,求出203267的所有真因子(即小于它 本身的约数)中最大的因子数。,质因数,利用分解质因数的方法求出18000中含有质因数的个数(相同的重复计数,例如,180中含有5个质因数:2、2、3、3、5)。,28,29,set talk off clear x=18000 n=0 k=2 do while x1if mod(x,k)=0n=

12、n+1x=x/kloopendifk=k+1 enddo ? n set talk on return,9,最大质因数,30,利用分解质因数的方法求出18000中的最大质因数(例如,180中最大质因数为5)。,31,set talk off set talk off clear a=18000 max=1 b=2 do while a1if mod(a,b)=0max=b& ?ba=a/bloopendifb=b+1 enddo ? max set talk on return,5,32,某些分子和分母都是二位正整数的真分数具有下列特点:如果将该分数的分子个位数和分母十位数同时去掉,所得结果正好等于原分数约分后的结果,例如16/64=1/4,求满足上述条件的所有真分数个数。,真分数,33,clea n=0 for i=10 to 98for j=i+1 to 99a=int(i/10)b=mod(j,10)if i/j=a/b and b0n=n+1endifendfor endfor ?n retu,48,非约简真分数,若某真分数满足下述条件: 分子分母都是两位正整数; 分子的两位数字之和与分母的两位数字之和组成新的分数,该分数与原分数的值相等,如:63/84=(6+3)/(8+4)。 求所有具有这种特点的真分子(非约简真分数)的个数以及分子与分母之和的和。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号