网站大量收购闲置独家精品文档,联系QQ:2885784924

lesson8计算机算也法初步.ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
lesson8计算机算也法初步

3 标志变量法 6 使用标志变量法判断11是否是素数 flag:0 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 11能否被2 整除 11能否被3 整除 11能否被4 整除 11能否被5 整除 11能否被6 整除 11能否被7 整除 11能否被8 整除 11能否被9 整除 11能否被10 整除 结束! #include stdio.h int main(){ int n, i,flag; printf( “Enter an integer: ” ); scanf( “%d”, n); flag=0; for(i=2;i=n/2;i++){ if(n%i==0){ flag=1; break; } } if(flag==1) printf(“%d不是素数”,n); else printf(“%d是素数”,n); return 0; } 3 课堂练习 7 从键盘输入10个数,判断这10个数里有没有负数 #include stdio.h int main( ) { int x,j=0; printf( Enter 10 integer :\n); do{ j++; scanf(%d, x ); if ( x0 ) /* 是否为负数*/ printf( 有负数。\n ); }while(j11); return 0; } 3 课后练习 8 1、一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000以内的所有完数。 2、猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。 #include stdio.h int main( ) { int i,j,sum=0; for(i=2;i1000;i++) { for(j=1;ji;j++) if ( i%j==0 ) sum+=j; if(sum==i) printf( End of a few:%d\n ,i); sum=0; } return 0; } 1000以内的所有完数: #include stdio.h int main( ) { int i,sum=1; for(i=10;i0;i--) { printf(sum=%d ,%d\n,sum,i); sum=(sum+1)*2; } printf( sum=:%d\n ,sum); return 0; } 猴子吃桃问题: Lesson 8 计算机算法初步 学习目标: 3 1 掌握几个常用的解题算法:穷举、迭代 3 穷举法 2 概述 穷举法,又称为枚举法,是人们日常生活中常用的一种求解问题的方法。 根据问题中的部分条件(已知的条件)将所有可能解的情况列举出来,然后通过一一验证是否符合整个问题的求解要求,而得到问题的解。 3 穷举法 2 1、旅行途中发现自己忘记了开锁的密码,怎么办? 2、从某个班中找出所有班干部,需要逐一对每个同学进行查看,判断是否是班干部。 3 穷举法 2 穷举法的核心在于明确问题的所有可能性,并针对每种可能情况逐个进行判断,最终找出正确问题的答案。 穷举解题步骤: 1、问题解的可能有哪些信誉好的足球投注网站的范围: 用循环或循环嵌套结构实现 2、写出符合问题解的条件。 3 穷举法 2 所谓素数是指仅能被1和自身整除,且大于等于2的数值。如7,11,17,23等 例1:判断给定整数是否是素数 。 3 穷举法 2 问题分析 为了检查一个整数是不是素数,可以采用穷举法。假设给定的整数用x表示,则判断过程就是确认x不能整除以2~x-1之间的任何整数。这就需要一一列举出2~x-1之间的每个整数进行排查。 算法描述 N Y 开始 输入x 2 ? t t x t 加1 x%t==0 结束 输出“不是素数” 输出“是素数” Y N t == x Y N #include stdio.h int main( ) { int x, t; printf( “Enter an integer: ” ); scanf( “%d”, x ); for (t = 2; tx; t++

文档评论(0)

150****4233 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档