(33)--5.9 常见问题举例(三)C语言程序设计基础.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《(33)--5.9 常见问题举例(三)C语言程序设计基础.ppt》由会员分享,可在线阅读,更多相关《(33)--5.9 常见问题举例(三)C语言程序设计基础.ppt(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、5.9 5.9 常见问题举例(三)常见问题举例(三)5.9.1 穷举问题穷举问题C语言常见问题举例穷举问题穷举问题 什么是穷举问题对问题的所有对问题的所有可能解一一可能解一一测试测试,直到找到解,直到找到解或将全部或将全部可能解可能解都都测试测试过未找到的相关问题过未找到的相关问题如:求水仙花数问题;搬砖问题;百元买百鸡问题;找满足条件的数。C语言常见问题举例穷举问题穷举问题 怎么求解穷举问题用循环找出问题中所有可能解变化的范围;找出最终解需满足的条件;在在问题所有可所有可能解中一个一能解中一个一个找个找满足足问题条件的解条件的解案例1:找出三位整数中所有的水仙花数;案例2:找出1-1000之
2、间满足条件的数。循环条件循环体内语句C语言常见问题举例穷举问题找出问题中所有可能解变化的范围;找出最终解需满足的条件;案例1:找出三位整数中所有的水仙花数分析:所有的三位整数,即100999;三位整数每位数字的立方和等于它本身;个位=n%10十位=n/10%10;百位=n/100 for(n=100;n=999;n+)i=n%10;j=n/10%10;k=n/100;if(i*i*i+j*j*j+k*k*k)=n)printf(%d是水仙花数n,n);案例1:找出三位整数中所有的水仙花数(用单层循环求解)求出n每位上的数字#include int main()int n,i,j,k;问题最最终
3、解解满足的足的条件条件可能解的范围return 0;for(i=1;i=9;i+)for(j=0;j=9;j+)for(k=0;k=9;k+)if(i*i*i+j*j*j+k*k*k)=i*100+j*10+k)printf(%d是水仙花数n,i*100+j*10+k);案例1:找出三位整数中所有的水仙花数(用三层循环求解)#include int main()int i,j,k;问题最最终解解满足的足的条件条件组成所有的三位整数return 0;分别表示组成三位整数百位、十位、个位上的数字C语言常见问题举例穷举问题案例2:找出1-1000之间能被7或11整除,但不能同时被7和11整除的所有整
4、数分析:可能解范围1-1000;能被7或11整除,但不能同时被7和11整除;n%7=0|n%11=0n%7!=0&n%11!=0找出问题中所有可能解变化的范围;找出最终解需满足的条件;循环条件 for(n=1;n1000;n+)if(n%7=0)|(n%11=0)&(n%77!=0)printf(%5d,n);k+;if(k%10=0)printf(“n”);/*m每行输出10个数*/#include int main()int n,k=0;/*k统计满足条件的整数个数*/问题最最终解解满足的足的条件条件可能解的范围return 0;案例2:找出1-1000之间能被7或11整除,但不能同时被7
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 33-5.9 常见问题举例三C语言程序设计基础 33 5.9 常见问题 举例 语言程序设计 基础
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内