搜索
查看: 1308|回复: 15
打印 上一主题 下一主题

从1到6这6个自然数组成一个三角形,并让这个三角形三条边上的数字之和相等。

[复制链接]
跳转到指定楼层
楼主
发表于 2018-1-21 15:33:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
本帖最后由 微风微凉丶 于 2018-1-21 15:39 编辑

#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b,c,d,e,f;
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(a+b+c==c+d+e==e+f+a==12)
        {
         printf("%d%d%d%d%d%d\n",a,b,c,d,e,f);
        }
       }
      }
     }
    }
   }
  }
}
system("pause");
return 0;
}

最佳答案

查看完整内容

[mw_shl_code=c,true]#include #include #define FOR(N) for(N=1;N
沙发
发表于 2018-1-21 15:33:37 | 只看该作者
[mw_shl_code=c,true]#include <stdio.h>
#include <stdlib.h>
#define FOR(N) for(N=1;N<=6;N++)
int main()
{
        int a,b,c,d,e,f;
        FOR(a)
        FOR(b)
        FOR(c)
        FOR(d)
        FOR(e)
        FOR(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(a+b+d==a+c+f && a+b+d==d+e+f && a+c+f==d+e+f)
                {
                        printf("  %d\n",a);
                        printf(" %d %d\n",b,c);
                        printf("%d %d %d\n",d,e,f);
        }               
        system("pause");
        return 0;
}
[/mw_shl_code]
板凳
 楼主| 发表于 2018-1-21 15:37:37 | 只看该作者
本帖最后由 微风微凉丶 于 2018-1-21 15:40 编辑

啊哈c中第138面的更进一步动手试一试。
这个也没有错误,可是输出的没有数值,是一片空白的。
书上有一个例子是5+3+5=4+2+6=5+1+6=12的
可是我的没有显示。。。
地板
发表于 2018-1-21 20:36:08 | 只看该作者
创世菌 发表于 2018-1-21 19:02
[mw_shl_code=c,true]#include
#include
#define FOR(N) for(N=1;N

大叔 你 for大小写整错了吧

点评

还有,我不是“大叔”!  发表于 2018-1-25 19:55
5#
发表于 2018-1-21 20:45:23 | 只看该作者
创世菌 发表于 2018-1-21 19:02
[mw_shl_code=c,true]#include
#include
#define FOR(N) for(N=1;N

大叔 你 for大小写整错了吧                 

点评

如果你不习惯可以修改。  发表于 2018-1-21 20:53
这样方便。  发表于 2018-1-21 20:52
宏定义,可编译。  发表于 2018-1-21 20:52
6#
发表于 2018-1-21 20:45:51 | 只看该作者
if(a+b+c==12&&c+d+e==12&&e+f+a==12)
7#
发表于 2018-1-21 20:51:24 | 只看该作者
当你看啊哈算法时你会发现更好的方法
啊哈算法如果你有
翻到73页
你就有答案了

点评

搜索!  发表于 2018-1-26 13:10
dfs?  发表于 2018-1-22 16:35
8#
 楼主| 发表于 2018-1-22 17:55:06 | 只看该作者
创世菌 发表于 2018-1-21 19:02
[mw_shl_code=c,true]#include
#include
#define FOR(N) for(N=1;N

那个为什么不能够用
if (a+b+c==c+d+e==e+f+a)
想不懂这个。

点评

其实在 C 语言中,‘==’也是一种像‘+’一样的运算符。如果等式正确,值就为‘1’(真);如果等式错误,值就为‘0’(假)。  发表于 2018-1-25 19:48
9#
 楼主| 发表于 2018-1-22 17:57:48 | 只看该作者
吴明程 发表于 2018-1-21 20:51
当你看啊哈算法时你会发现更好的方法
啊哈算法如果你有
翻到73页

谢谢,我打算看完啊哈c再看啊哈算法。
还差一点看完啊哈c。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表