- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
 - 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
 - 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
 - 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
 - 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
 - 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
 - 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
 
                        查看更多
                        
                    
                C语言05循环结构
                    *  num++; if(iGOAL)  printf(%d is too big, input again.\n,i); else 	if(iGOAL)  printf(%d is too samll, input again.\n,i);  		else  	 	{ 	printf(OK!\n); 	        		printf(You take %d times to pass!,num);     		} 	 } while(i!=GOAL); } * [例] 枚举问题或称为穷举法。一般用于不定方程求非负整数解的问题。它将方程中未知数可以取的到的非负整数逐个进行验证找出所有满足方程的解。 例如:一元人民币兑换成1分、2分、5分共有多少种方法? 若5分、2分、1分的个数分别为x个、y个、z 个,则x的取值为0~20,y的取值为0~50,z的取值为0~100。 于是有不定方程:       5x+2y+z=100。  * main() {  int i,j,k,m=0;     for(i=0;i21;i++)       	for(j=0;j51;j++)         	    for(k=0;k101;k++)   				          if(5*i+2*j+k==100)  				m+=1;     printf(m=%d\n,m);    }  运行结果:m=54130 考虑程序的优化问题? *         上面程序的循环次数超过10万次,且大量的循环都不满足方程。可对程序进行优化,由于随着5分个数的增加,2分个数就会减少,因此循环变量j可控制在(100-5i)/2以内,这样使得5i+2j=100。若不足100则补充1分,将问题转换成为求循环次数的问题了。 main() { int i,j,m=0;   for(i=0;i21;i++)      for(j=0;j=(100-5*i)/2;j++)  	m+=1;   printf(m=%d\n,m); }         因为该不定方程中,如果有两个未知数确定后,第三个未知数也随之确定。即确定了一种分法。例如: i=20时,j=0 i=19时,j=0,1,2 i=18时,j=0,1,2,3,4,5 * [例] 汽车里程表上的读数是95859,7小时之后里程表的读数是一个对称数(最大是5位数),问汽车的速度(是一个整数)。  解题思路: 检查所有的在95859到99999之间的对称数,如果它与95859的差能被7整除,则商是速度。 /* 第一种算法*/  * main() /*第一种算法*/ { long i,a,b,c,e,d;   float f,g;   i=95859;   while (i=99999 ) {     a=i/10000;     b=(i-a*10000)/1000;     c=(i-a*10000-b*1000)/100;     d=(i-a*10000-b*1000-c*100)/10;     e=i-a*10000-b*1000-c*100-d*10;     if((a==e)  (b==d))       if(((i-95859)%7)==0)    printf(The speed is %d,(i-95859)/7);i++;}  }			 该程序需要执行循环99999-95859次! * main() /*第二种算法*/ {   long i,distance,a,b,c,d,e;     for ( i=1;i=200;i++) {     distance=95859+i*7;     a=distance/10000;     b=(distance-a*10000)/1000;     c=(distance-a*10000-b*1000)/100;     d=(distance-a*10000-b*1000-c*100)/10;     e=distance-a*10000-b*1000-c*100-d*10;     if ((a==e) and (b==d) )       printf(“The speed is %d”,i);   } } 循环次数为 200次 * /*第三种算法*/ main() { long  i,j,distance;   for(i=6;i=9;i++) {     for (j=0;j=9;j++) {      distance=90000+i*1000+j*100+i*10+9;      if ((distance-95959)%7==0)         printf(“The speed is %d”,(distance-95959)/7
                您可能关注的文档
最近下载
- 基于隐私保护的社会性别劳动分工信息共享底层协议与算法实现.pdf VIP
 - 根据多波束水深数据估算人工鱼礁空方量的方法.pdf VIP
 - 如何理解“作风建设永远在路上,永远没有休止符”?我们应如何加强作风建设? (3) .doc VIP
 - 2025年咨询工程师环保项目现金流量表的编制与环境效益量化专题试卷及解析.pdf VIP
 - 联通华盛终端连锁化运营项目-销售管理培训.pdf VIP
 - 临时用电验收要点:国标GB50194-2014.pdf VIP
 - 综合交通运输体系规划编制技术导则.pdf
 - 2025至2030中国铝合金压铸件行业投资策略及应用需求潜力研究报告.docx VIP
 - 医院重大事件请示报告制度.docx VIP
 - 金风25MW机组运行维护手册.pdf VIP
 
原创力文档
                        

文档评论(0)