- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
上机考题分析2
穷举法求解简单计算问题
根据问题的已知条件,对影响答案的各种因素可能的取值范围进行组合,在所有可能的组合情况中输出满足条件的答案。
一般,影响答案的各种因素作为循环变量,用多重循环对各种因素进行组合,在内层循环中验证每种组合并输出满足条件的答案。
2-1. 编程,输出200以内(含200)所有完全平方数C(满足C2=A2+B2)及其个数。
结果:254个C:
No. C A B
1 5 3 4
2 5 4 3
3 10 6 8
4 10 8 6
5 13 5 12
6 13 12 5
…………
251 200 56 192
252 200 120 160
253 200 160 120
254 200 192 56
分析:影响答案的因素有A、B、C,它们的取值范围均为1~200。所以用三重循环穷举A、B、C可能的值,输出满足条件C2=A2+B2的C、A、B及C的个数。C的个数可以设变量n计数并输出即可。
n=0;
for(c=1;c=200;c++)
for(a=1;a=200;a++)
for(b=1;b=200;b++)
if(c*c==a*a+b*b)
printf(No.%3ld:%ld %ld %ld\n,++n,c, a, b);
2-2. 口袋中有12个球,其中3红,3白和6黑,从中任取8个球,编程,输出所有不同的取法。
结果:
No. RED WHITE BLACK
------------------------
1: 0 2 6
2: 0 3 5
3: 1 1 6
。。。。。。。
12: 3 2 3
13: 3 3 2
分析:设任取红球的个数为i,白球的个数为j,黑球的个数为k, 据题意红球和白球个数的取值范围是0~3,黑球的取值范围是0~6。所以用三重循环穷举红球、白球、黑球可能的值,输出满足条件(总数为8个球)的取法。因为总数为8个球,所以黑球的个数为8-i-j(=6),故可以省略k循环。
2-3. 小明有五本不同的新书(分别命名为1,2,3,4,5),要借给A、B、C三位小朋友,每人每次必须借一本,编程,输出所有不同的借法。
结果:No. A B C
1 1 2 3
2 1 2 4
… …
59 5 4 2
60 5 4 3
分析:设5本书分别命名为1、2、3、4、5,A、B、C可以任取一本书,所以可以用A、B、C三重循环,取值范围:从1到5。A、B、C所借书互不相同(a!=ba!=cb!=c)。
2-4. 100匹马驮100担货,大马一匹驮3担,中马一匹驮2担,小马两匹驮1担。编程,输出所有满足条件的方案(即大、中、小马的数目)。
结果:
1: l= 2 m=30 s=68
2: l= 5 m=25 s=70
3: l= 8 m=20 s=72
4: l=11 m=15 s=74
5: l=14 m=10 s=76
6: l=17 m= 5 s=78
7: l=20 m= 0 s=80
分析:大马一匹驮3担100/3=33匹中马匹小马 匹l、m两重循环(l=0~33,m=0~(100-3*l)/2),输出满足3l+2m+s/2=100(s是2的倍数)的l、m、s。
2-5. 编程,输出所有个位数为6且能被31整除的五位数及其个数。
结果:
No. 1 10106
No. 2 10416
No. 3 10726
No. 4 11036
……
No. 288 99076
No. 289 99386
No. 290 99696
分析:对5位数n循环10000~99999,输出满足条件n%10==6n%31==0的所有n.
2-6. 一辆卡车违犯交通规则,撞人逃跑。现场三人目击事件,但都没记住车号,只记下车号的一些特征。
文档评论(0)