当前位置:首页 >> 数学 >> FOR循环习题集及算法分析

FOR循环习题集及算法分析

1、水仙花数 求 100-999 中的水仙花数。三数 abc,满足 a*a*a+b*b*b+c*c*c=abc,则称 abc 为水 仙花数。 例样: 153,因为 13+53+33=1+125+27=153 算法分析:对一任意一个数 i(100<=i<=999),如果我们能够用三个变量 a,b,c 分别存储 n 的百、十、个位三个数,,利用数学知识,分离出百、十、个位三个数是: a=i/100;b=i/10%10; c=i%10;若 a^3+b^3+c^3=i 的话,则该数就是水仙花数, 2、亲密数对 找出 2---1000 中的亲密数对。 亲密数对的定义:如果 a 的因子和等于 b,b 的因子和等于 a,且 a!=b 则称 a,b 为亲 密数对。 算法分析:用穷举法,从 1~a/2 中找出 a 的因子(如果 a%i=0,i 即为 a 的因子) ,每 找出一个因子加入到和 temp1 中,令 b=temp1,再用穷举法,从 1~b/2 中找出 b 的因 子,每找到一个因子加入到和 temp2 中,最后,如果 temp2=a,并且 a!=b,则输出 a,b, 即为亲密数对。 注意一个问题:为避免重复情况出现,a!=b 可写成 a<b 或 a>b 比如本题的答案为 220,284。如果用条件 a!=b 来限制的话,会有另一个答案 284,220,两个答案其实是一个。 3、求两个数的最大公约数 算法分析:对于 n 和 m 两个数,令 k 依次从 1~min{n,m}判断,如果 n%k=0 并且 m%k=0, 则 k 就是 n,m 的最大公约数,可以让 m 中存两个数中较大的数,让 n 存较小的数,如 果 n>m 就互换两数,这样的话,k 的循环初值为 2,终值即为 n。 4、输出九九乘法表 1X1=1 2X1=2 2X2=4 3X1=3 3X2=6 3X3=9 4X1=4 4X2=8 4X3=12 4X4=16 5X1=5 5X2=10 5X3=15 5X4=20 5X5=25 6X1=6 6X2=12 6X3=18 6X4=24 6X5=30 6X6=36 7X1=7 7X2=14 7X3=21 7X4=28 7X5=35 7X6=42 7X7=49 8X1=8 8X2=16 8X3=24 8X4=32 8X5=40 8X6=42 8X7=56 8X8=74 9X1=9 9X2=18 9X3=27 9X4=36 9x5=45 9X6=54 9X7=63 9X8=72 9X9=81 算法分析:可以发现,对于第 i 行,该行的算式为:i*j {1<=j<=i} 5、费波那契数列 已知 Faibonacai(费波拉契)数列的前几项0、1、1、2、3、5、8、 13、 21、 34……, 编程输出求出前 20 项。 算法分析:分析后发现, 从第三项开始, 任意一项都等于前两项的和, ai=ai-1+ai-2 即 a1:=0,a2:=1,a3:=a1+a2 从第三项开始,当求出当前项后,将 a2 值赋给 a1,a3 值赋给 a2,当下一次执行 a3:=a1+a2 时,即可求出数列的下一项。

6、哥德巴赫猜想 验证哥德巴赫猜想(这是一个古老而著名的数学难题,至今还没有得到最后的证 明) 每一个大于 2 的偶数都可以表示成两个质数之和。 4=2+2; : 如 8=3+5; 98=19+79。 算法分析:x=p+q,验证 p 和 q 同时为质数即可, p 从 2 到 x/2 验证,同时验证 q=x-p 是不是质数。 7、谁是小偷 有A、B、C、D四名偷窃嫌疑犯,其中一人是小偷,审问中,A说: “我不是小 偷” ,B说: “C是小偷” ,C说: “小偷肯定是D” ,D说: “C在冤枉人” ,有三人说 真话,一人说假话,问到底谁是小偷? 算法分析:用 x 表示小偷,用 1,2,3,4 表示四个人,那么 A说: “我不是小偷” ,可以表示为 x!=1 B说: “C是小偷” ,可以表示为 x==3 C说: “小偷肯定是D” ,(x==4) D说: “C在冤枉人” ,(x==!4) 用 y 表示四个人说话的和,如果三个人说真话,则 y=3,当 y==3 时,输出数字序 号,即为小偷。 说明:按上面的分析,最后输出的是数字,如果想输出字母,A 的 ascII 码是 65, 那么把 1 加上 64 以字符输出即可。 8、猜测产品质量评奖 5家工厂的产品在一次评比中分获1,2,3,4,5,在公布结果前,已知E厂 产品肯定不是第二、三名,五厂代表猜测评比结果, A厂的代表说:E厂一定能获得第一名。 B厂的代表说:我厂的产品可能获第二名。 C厂的代表说:A厂的产品质量最次。 D厂的代表说:C厂的产品不是最好的。 E厂的代表说:D厂的产品会获得第一名。 公布结果后,证明只有产品获第一名和第二名的两个厂的代表猜对了。求5个厂 产品各获第几名。 【答案】 A B C D E 5 2 1 3 4 算法分析:用多重循环穷举法,A,B,C,D,E 五个厂都有可能是第 1,2,3,4,5 名,用 a,b,c,d,e 表示每个厂的名次,则 a+b+c+d+e=15, a*b*c*d*e=120,另外还有前题条件 (e!=2)&&(e!=3)。 只有两个厂的代表猜对了, 则((e==1)+(b==2)+(a==5)+(c!=1)+(d==1)==2), 这些都是容易想到的。 对于“只有产品获第一名和第二名的两个厂的代表猜对了” ,这种情况又如何表达 呢?看第一句话:A厂的代表说:E厂一定能获得第一名。 这句话的表达为: ((e==1)&&((a==1)||(a==2)),用同样的方法表达其它几句话。 此题需注意的是:不要丢了条件。 9、填写数字 设有算式如图所示,求出口中的数字,并打印出完整的算式

x

y 8*x

9*x

算法分析:设除数是 x,被除数是 y(y=809*x+1),则算式如上图所示,x 为两位数,即 10<=x<=99,y 为四位数,即 1000<=y<=9999,8*x 为两位数,9*x 为三位数,利用穷 举法完成程序。 10、分书问题

有 A、B、C、D、E 五本书,要分给张、王、李、赵、钱五位同学,每人只 能选一本,事先让每人把自己喜爱的书填于下表,编程找出让每个人都满 意的方案。 A B C D E 张 √ √ 王 √ √ √ 李 √ √ 赵 √ √ √ 钱 √ √
【答案】四种方案 张 王 ① C A ② D A ③ D B ④ D E 李 B C C C 赵 D B A A 钱 E E E B

算法分析:设书的序号为 1,2,3,4,5,利用穷举法,每个人分到书的可能性都是从 1 到 5(去 掉不必要的循环,比如张同学的循环从 3 到 4),再排除不可能的情况(比如王同学的循环 从 1 到 5,但不等于 3 和 4) ,只要满足两个条件(五个人分到书的序号相加等于 15,相乘等 于 120) ,就是令每个人都满意的分书方案。 11、谁获得冠军 【问题】甲乙丙丁戊五个人在运动会上分获百米、二百米、跳高、跳远和铅球冠军, 有四个人猜测比赛结果: A说:乙获铅球冠军,丁获跳高冠军。 B说:甲获百米冠军,戊获跳远冠军。 C说:丙获跳远冠军,丁获二百米冠军。 D说:乙获跳高冠军,戊获铅球冠军。 其中每个人都只说对一句,说错一句。求五人各获哪项冠军。 算法分析:用 1,2,3,4,5 分别代表百米、二百米、跳高、跳远和铅球5个项目每一 项获得冠军, a,b,c,d,e 分别代表五人。 b=3 表示乙获跳高冠军。 用 如 用多重循环穷举。 【答案】甲 乙 丙 丁 戊 1 2 4 3 5


更多相关文档:

FOR循环习题集及算法分析.doc

FOR循环习题集及算法分析 - 1、水仙花数 求 100-999 中的水仙花数。

FOR循环习题集算法分析.doc

FOR循环习题集算法分析_远程、网络教育_成人教育_教育专区。FOR循环习题集算法...系统中循环冗余校验码算... 5页 免费 FOR循环习题集及算法分析... 3页 免费...

for循环语句练习题讲解及其它循环结构)20130815_图文.ppt

for循环语句练习题讲解及其它循环结构)20130815_政史地_高中教育_教育专区。一、...分析:求两个正整数的最大公约数采用的 辗转相除法求解。以下是辗转的算法: ...

算法设计与分析习题集.pdf

算法设计与分析习题集_数学_自然科学_专业资料。1、...使用Dijkstra算法,使其起始节点 从a循环到h,每次求...代码: for(i=0;i<n;i++) U[i]=0; U[0]...

算法分析与设计习题集整理_图文.doc

算法分析与设计习题集整理 第一章算法引论 一、填空题: 1、算法运行所需要的...(m 种颜色,n 个节点) 计算限界函数,一重 for 循环时间复杂度:O(n); 2 ...

算法分析与设计习题集.doc

算法分析与设计习题集_IT/计算机_专业资料。算法分析...= a->data[i+1])i++; else { for ( j=i...9、 设有 n 个运动员要进行网球循环赛。设计一个...

算法分析复习题目及答案.doc

算法分析复习题目及答案_工学_高等教育_教育专区。一、选择题 1、二分搜索算法...实现循环赛日程表利用的算法是( A )。 A、分治策略 B、动态规划法 C、贪心...

算法设计与分析-习题集.doc

算法设计与分析-习题集 - 第一章 3. 最大公约数为 1。快 1414 倍。 程序 1-2 的 while 循环体做了 10 次,程序 1-3 的 while 循环体做了 14141 次...

算法设计与分析考试题及答案.doc

{ int i,k,j,l; for(i=1;i<=n-1;i++)//---选择排序 { k=i; ...1234 5678 五、算法理解题(本题 5 分) k 设有 n=2 个运动员要进行循环...

算法设计与分析复习题目及答案.doc

9. 实现循环赛日程表利用的算法是(分治策略 ) 27...逼近 二、 填空题 2、程序是 算法 用某种程序设计...{ int i,j,k,t,l; for(i=1;i<=n+1;i+...

算法分析与设计第三章课后练习题.doc

算法分析与设计第三章课后练习题_计算机硬件及网络_IT/计算机_专业资料。算法...i++) //两个 for 循环找到相同的值 if(r[i]) { for(j = i+1;j <...

算法分析复习题目及答案[1].doc

算法分析复习题目及答案[1]_工学_高等教育_教育专区。一。选择题 1、二分...实现循环赛日程表利用的算法是( A、分治策略 B、动态规划法 A )。 C、贪心...

算法设计与分析复习题及答案.doc

{u} for each vertex 3 do 4 四、算法理解题(本题 10 分) 根据优先队列...必须其他 n-1 名选手比赛各一次; ②每个选手一天至多只能赛一次; ③循环赛...

java算法分析习题集.doc

java算法分析习题集 - java算法分析习题集有很多题,从易到难,多练习,循环渐进,慢慢提高,提高思维能力。

算法与程序设计-For循环语句教学设计_图文.doc

高中信息技术(选修 1) 算法与程序设计 《For 循环语句》教学设计课题教学内容 ...循 循环 次数 环前i值 I<=10? 输出结 果 循环后 i 值 题,在分析、 ...

算法设计与分析习题答案1-6章.doc

算法设计与分析习题答案1-6章_理学_高等教育_教育...设计分治算法,实现将数组 A[n]中所有元素循环左移...} }//for } }//if //如果 s1(大的数集)的...

算法分析复习题目及答案.doc

算法分析期末试题库,c++ 一。选择题 1、二分搜索...实现循环赛日程表利用的算法是( A、分治策略 B、...(n,v,w); int i; for (i=1;i<=n;i++)...

算法设计与分析习题_图文.doc

算法设计与分析习题 第一章算法引论 1、 算法的定义? 答:算法是指在解决...( int i=1; i<=n; i++) // for 循环一一判断皇后所在列 { x[ t]=...

数据结构与算法分析习题及参考答案.doc

数据结构与算法分析习题及参考答案_从业资格考试_资格...{1,5,8,12,15}; for(i=0;i<5;i++) Push...若顺序存储的循环队列的 QueueMaxSize=n,则该队列...

算法设计与分析考试题及答案.doc

{u} for each vertex 3 do 4 四、算法理解题(本题 10 分)根据优先队列式...必须其他 n-1 名选手比赛各一次; ②每个选手一天至多只能赛一次; ③循环赛...

网站地图

文档资料共享网 nexoncn.com copyright ©right 2010-2020。
文档资料共享网内容来自网络,如有侵犯请联系客服。email:zhit325@126.com