任意给出8个整数,将这8个整数分别放在一个立方体的八个顶点上,要求每个面上的四个数之及相等.ppt

任意给出8个整数,将这8个整数分别放在一个立方体的八个顶点上,要求每个面上的四个数之及相等.ppt

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
任意给出8个整数,将这8个整数分别放在一个立方体的八个顶点上,要求每个面上的四个数之和相等 一个正方体共6个面,6个面上数的总和是8个数总和的3倍(因为每个点都在三个面上),若每个面的和都相等,则每个面的和为8个数总和的一半。由此也可以得出,8个数的和一定要是偶数。 int a[9],sum=0,i;数组a存放8个整数 for(i=1;i9;i++) { scanf(“%d”,a[i]); sum+=a[i] ; } if(sum%2!=0)//判断总和是否为偶数 printf(“输入的整数不满足条件\n”); else//是偶数则继续进行下面的语句 a3 a2 a4 a1 b3 b2 b4 b1 将正方体8个角分别标上,如图a1到a4表示上面四个点,b1到b4表示下面四个点. 给八个点赋值,要考虑到所以可能,所以用循环来列举出所以可能情况。 将1~8赋给8个角并代入数组a中,以此来表示每个角的数。 for(a1=1;a1=8;a1++) for(a2=1;a2=8;a2++) if(a2!=a1) //前两个数不能相同 for(a3=1;a3=8;a3++) if(a3!=a2a3!=a1) //前三个数不能相同 for(a4=1;a4=8;a4++) if(a4!=a3a4!=a2a4!=a1) //前四个数不能相同 for(b1=1;b1=8;b1++) if(b1!=a4b1!=a3b1!=a2b1!=a1) . for(b2=1;b2=8;b2++) if(b2!=b1b2!=a4b2!=a3b2!=a2b2!=a1) for(b3=1;b3=8;b3++) if(b3!=b2b3!=b1b3!=a4b3!=a3b3!=a2b3!=a1) for(b4=1;b4=8;b4++) if(b4!=b2b4!=b1b4!=b3b4!=a4b4!=a3b4!=a2b4!=a1) //到此8个角都赋值。 然后便判断每个面上四个数之和是否都相等。只要取一个点相邻的三个面判断即可。 不妨取点b1相邻的三个面进行判断。 if(a[b1]+a[b2]+a[b3]+a[b4]==sum/2a[a1]+a[a2]+a[b1]+a[b2]==sum/2a[a1]+a[a4]+a[b1]+a[b4]==sum/2) { prinft(“%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\n”,a[a1],a[a2],a[a3],a[a4],a[b1],a[b2],a[b3],a[b4]);//按顺序输出 } #includestdio.h void main() { int a[9],sum=0,i,a1,a2,a3,a4,b1,b2,b3,b4; for(i=1;i=8;i++) { scanf(%d,a[i]); sum+=a[i]; } if(sum%2!=0) { printf(输入的整数不满足条件\n); } else { for(a1=1;a1=8;a1++) for(a2=1;a2=8;a2++) if(a2!=a1) /*前两个数不能相同*/ for(a3=1;a3=8;a3++) if(a3!=a2a3!=a1) /*前三个数不能相同*/ for(a4=1;a4=8;a4++) if(a4!=a3a4!=a2a4!=a1) /*前四个数不能相同*/ for(b1=1

文档评论(0)

xiaofei2001128 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档