啊哈磊_编程从这里起步
标题:
三角形 相加相等问题(P130 更进一步)
[打印本页]
作者:
Dear
时间:
2015-8-16 11:01
标题:
三角形 相加相等问题(P130 更进一步)
用1-6这6个自然数组成一个三角形并让这个三角形三条边的值之和相等
例如:图片上数字分别为5+3+4=4+2+6=6+1+5=12
请输出所有可能
表示不会啊···{:soso_e149:}求大神解答
用的函数表太多我很多都还没学·····看不懂
QQ截图20150816105832.png
(5.48 KB, 下载次数: 2)
下载附件
保存到相册
2015-8-16 10:58 上传
作者:
老衲用飘柔
时间:
2015-8-16 11:01
最简单的方法就是一个一个试呗,例如用for循环。下面这段我试着输出可能有点问题,人不聪明你将就看吧,反正就这个意思。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b,c,d,e,f; //对应的6个值,顺序什么的随便
for(a=1;a<=6;a++) //笨办法开始啦,一个一个循环
{
for(b=1;b<=6;b++)
{
for(c=1;c<=6;c++)
{
for(d=1;d<=6;d++)
{
for(e=1;e<=6;e++)
{
for(f=1;f<=6;f++)
{
if(a+b+c==c+d+e && a+b+c==a+e+f)
printf("%d %d %d %d %d %d %d\n",a,b,c,d,e,f);
}
}
}
}
}
}
system("pause");
return 0;
}
作者:
cad20020601
时间:
2015-8-16 17:41
讲一下思路,一个数组a[6],里面是各个圆圈里的数,之后开始123456的全排列,最后判断是否成立。
这里的重点在于全排列以及数组对应的圆圈里的数,我们可以将最上面那个数为a[0],之后顺时针依次为a[1],a[2]......那么三角形的三边就可以用数组表示啦ww
我是月影,希望能够帮助到你啦wwwww
作者:
deist
时间:
2017-7-18 17:08
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b,c,d,e,f;
printf("A B C D E F \n");
printf("----------- \n");
for(a=1;a<=6;a++)
{
for(b=1;b<=6;b++)
{
for(c=1;c<=6;c++)
{
for(d=1;d<=6;d++)
{
for(e=1;e<=6;e++)
{
for(f=1;f<=6;f++)
{
if ( a!=b
&& a!=c
&& a!=d
&& a!=e
&& a!=f
&& b!=c
&& b!=d
&& b!=e
&& b!=f
&& c!=d
&& c!=e
&& c!=f
&& d!=e
&& d!=f
&& e!=f )
{
if(12==a+b+c && 12==c+d+e && 12==e+f+a)
printf("%d %d %d %d %d %d \n",a,b,c,d,e,f);
}
}
}
}
}
}
}
system("pause");
return 0;
}
欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/)
Powered by Discuz! X3.2