下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第十三课循环语句的综合应用例1faibonacci(费波拉契):数列的前几个数分别为,编程求此数列的前n项。分析:第、项的值是,从第项开始,它的值是前两项的值的和。F(1)=0F(2)=1F(N)=F(N-1)+F(N-2) (N=3)f1 f2 f3 0 1 1 f1 f2 f3 1 1 2这种算法称为“迭代”例2用尼考曼彻斯法求两个自然数a和b的最大公约数。方法是:辗转相减。如要求158与36的最大公约数,可以进一步转化为158-36=122与36的最大公约数,继续减,如果不够减就交换两个数,直至差为0停止,最后一次不为0的数就是最大公约数。过程如下:(158,36)=(122,36)=(
2、86,36)=(50,36)=(14,36)前面的数比后面小,交换:=(36,14)=(22,14)=(8,14)再交换: =(14,8)=(6,8)=(8,6)=(2,6)=(6,2)=(4,2)=(2,2)=(0,2) 例3 连续若干个正整数之和为1000,求有多少种这样的数列。分析:采用穷举法,穷举起点的数,从1开始试起,当和等于1000时,这是一组解,继续从2开始试起,一直试到1000停止。 例4 编写一个程序,验证哥德巴赫猜想:任一个大于等于6的偶数总可以分解为两个素数之和。输入n, 输出两个素数之和。 分析:穷举法,先穷举第一个数,从2开始试起,判断2和(n-2)是不是都是素数,如
3、果都是,输出解,如果不全是,继续穷举第一个数,从2开始试起,直到两个数全是素数停止。用两个布尔型变量来测试,分别对应两个数,初始化为true,如果是素数,值就全为true,循环终止,输出解。var i,j,k,n:integer; b,b1,b2:Boolean; begin readln(n); i:=2; repeat b1:=true; b2:=true; for j:=2 to i div 2 do 判断i是不是素数if i mod j=0 then b1:=false; for j:=2 to (n-i) div 2 do 判断n-i是不是素数if (n-i) mod j=0 the
4、n b1:=false; i:=i+1; until b1 and b2; 直到两个数全是素数if b1 and b2 then writeln(n,=,i-1,+,n-i+1) i多加了1end. 练习1、任给一个自然数n(n2.1*109),求出这个自然数不同因数的个数。var n,i,s:int64;begin readln(n); i:=2; s:=0; while i=(n div 2) do begin if n mod i=0 then s:=s+1; i:=i+1; end; writeln(s);end.2、求亲密数对:所谓亲密数对是指:A的因子和等于B,而B的因子和正好等于
5、A,且A ,则称,为亲密数对。例如284和220,220的因子有1,2,4,5,11,20,22,44,55,110,他们和为284,284的因子有1,2,4,71 112,他们和为220。程序要求:找3100000中的亲密数对,注意不要重复显示。Var a,b,c,i:longint;begin for a:=3 to 100000 do begin b:=1; for i:=2 to a do if a mod i=0 then b:=b+i; c:=1; for i:=2 to b do if b mod i=0 then c:=c+i; if (a=c) and (ab) then w
6、riteln(a:5,b:5); end;end.3、 求1N(N100000)中的完全数,所谓完全数是指因子和正好等于本身的数。如28=1+2+4+7+14,故28就是一个完全数,程序输入N,输出在此范围内的完全数。var i,j,n,s:longint;begin readln(n); for i:=1 to n do begin s:=0; for j:=1 to i div 2 do if i mod j=0 then s:=s+j; if s=i then writeln(i); end;end.4、 级数求和 问题描述:已知:Sn= 112131n。显然对于任意一个整数K,当n足够
7、大的时候,Sn大于K。现给出一个整数K(1=k=15),要求计算出一个最小的n;使得SnK。 输入 k 输出 n 样例 输人:1 输出:2var s:real; i,k:integer;begin readln(k); s:=0; i:=1; while s=k do begin s:=s+1.0/i; i:=i+1; end; writeln(i-1);end.5、 蜜蜂路线问题描述一只蜜蜂在下图所示的数字蜂房上爬动,已知它只能从标号小的蜂房爬到标号大的相邻蜂房,现在问你:蜜蜂从蜂房M开始爬到蜂房N,MN100,有多少种爬行路线?如输入:1 14则输出:377var m,n,s,i,k:integer;begin readln(m,n); s:=0; k:=n-m-1; while k0 do begin for i:=k downto 1 do s:=s+i; s:=s+1; k:=k-1; end; writeln(s+1);end.6、 有一堆100多个的零件,若三个三个数,剩二个;若五个五个数,剩三个;若七个七个数,剩个。请你编一个程序计算出这堆零件至少是多少个?var i:i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2031年中国皮草摔软鼓行业投资前景及策略咨询研究报告
- 2025至2031年中国湿云母粉行业投资前景及策略咨询研究报告
- 2025至2031年中国止白俐膏行业投资前景及策略咨询研究报告
- 构件图可视化技术-深度研究
- 时尚设计中的未来科技展望-深度研究
- 2025年中国美容业设备市场调查研究报告
- 2025年中国推剪市场调查研究报告
- 二零二四年度瑜伽导师团队协作与课程推广协议3篇
- 二零二五年度在线游戏虚拟物品交易协议3篇
- 二零二五年度无人机航空测绘数据保密合作协议
- 江苏省苏州市2024-2025学年高三上学期1月期末生物试题(有答案)
- 销售与销售目标管理制度
- 人教版(2025新版)七年级下册英语:寒假课内预习重点知识默写练习
- 2024年食品行业员工劳动合同标准文本
- 2025年第一次工地开工会议主要议程开工大吉模板
- 全屋整装售后保修合同模板
- 壁垒加筑未来可期:2024年短保面包行业白皮书
- 高中生物学科学推理能力测试
- GB/T 44423-2024近红外脑功能康复评估设备通用要求
- 2024-2030年中国减肥行业市场发展分析及发展趋势与投资研究报告
- 运动技能学习
评论
0/150
提交评论