C措辞三阶幻方求解.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C措辞三阶幻方求解

// 三阶幻方.cpp : Defines the entry point for the console application. /***************************************************** * 操作系统:Windows XP * * 编译环境:Microsoft Visual C++6.0 * * * * 程序编写:万传华 * * 联系邮箱:wanchuanhua@ * *****************************************************/ //求解幻方 // a b c // d e f // g h i //a+e+i=15 //b+e+h=15 //c+e+g=15 //d+e+f=15 //-(a+b+c+d)+(i+h+g+f)+4*e=60 //-(a+b+c+d+e+f+g+h+i)+3*e=60 //-3*15+3*e=60 //-e=5 //f=15-e-d=10-d,g=15-e-c=10-c=10-(15-a-b)=a+b-5, //h=15-e-b=10-b,i=15-e-a=10-a, //a+d+g=15 //a+d+(15-c-e)=15 //a+d+(15-(15-a-b)-5)=15 //2*a+b+d=20 //同理2*c+b+f=20,2*g+d+h=20,2*i+f+h=20 //用a、b两个未知数可解其它 // a b 15-a-b //20-2*a-b 5 2*a+b-10 //a+b-5 10-b 10-a //需要检验 //1.数字是否重复 //2.数字范围[1,9] //a,b,5,(15-a-b),(20-2*a-b),(2*a+b-10),(a+b-5),(10-b),(10-a)两两不等- //ab,a5,b5,a+b10,2*a+b15,a+2*b15,3*a+b20,3*a+2*b25 //1=a=9,1=b=9,1=15-a-b=9,1=20-2*a-b=9,1=2*a+b-10=9,1=a+b-5=9,1=10-b=9,1=10-a=9 - //1=a=9,1=b=9,6=a+b=14,11=2*a+b=19 //假如a=1,根据11=2*a+b=19,1=b=9,9=a+b=14,可得b=9,可是a+b10,故b无解 //假如a=2,b=7或者9,满足所有条件 //...... //#include stdafx.h #include stdio.h #include stdlib.h #include conio.h void test() { int i,j,count=0; for(i=1;i10;++i) { if(i==5) continue; for(j=1;j10;++j) { if(i==j) continue; if(j==5) continue; if(i+j6) continue; if(i+j14) continue; if(2*i+j11) continue; if(2*i+j19) continue; if(i+j==10) continue; if(2*i+j==15) continue; if(i+2*j==15) continue; if(3*i+j==20) continue; if(3*i+2*j==25) continue; printf(\n第%d解:\n,++count); printf(\t%d,%d,%d\n,i,j,15-i-j); printf(\t%d,%d,%d\n,20-2*i-j,5,2*i+j-10); printf(\t%d,%d,%d\n,i+j-5,10-j,10-i); } } printf(\n共找到%d解\n,count); }; void show(int *M,unsigned rows,unsigned cols) { printf(\n); for(unsigned i=0;irows;++i) { for(unsigned j=0;jcols;++j) printf(%d, ,*M++); pr

文档评论(0)

jgx3536 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档