| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3323 人关注过本帖
标题:一个七边形,把1到14这些数摆在它的每条边上,每个数用一次,使每条边的和是 ...
取消只看楼主 加入收藏
kuangyitian
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-4-8
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:9 
一个七边形,把1到14这些数摆在它的每条边上,每个数用一次,使每条边的和是26
一个七边形,把1到14这些数摆在它的每条边上,每个数用一次,每条边摆三个数,使每条边的和是26,这个问题怎么通过C语言编程解决啊,请教高手哦,我是一个才学习C语言的新手,因为前几天小学二年级的儿子问到我这个问题,我当时吹牛皮讲可以通过编程解决,他现在每天放学回来就问我解决了没有,我搞了几天把脑壳都搞大了还是没解决,为了提高儿子的学习兴趣,我只好请各位高手帮忙罗

[ 本帖最后由 kuangyitian 于 2011-4-8 13:25 编辑 ]
搜索更多相关主题的帖子: C语言 
2011-04-08 12:52
kuangyitian
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-4-8
收藏
得分:0 
您好,是任意的一条边

[ 本帖最后由 kuangyitian 于 2011-4-8 16:34 编辑 ]

只有不断学习人生才有乐趣
2011-04-08 13:15
kuangyitian
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-4-8
收藏
得分:0 
以下是引用qq1023569223在2011-4-8 12:58:12的发言:

应该是相邻的三条边吧,而不是任意的三边吧!讲清楚14个数字到底要怎么摆的吗?
一条边可以放多个数字?是不是全部的数字都要用上呢?
您好,一条边摆三个数字,对不起啊,我开始没有讲清楚。

只有不断学习人生才有乐趣
2011-04-08 13:22
kuangyitian
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-4-8
收藏
得分:0 
以下是引用njkido在2011-4-8 13:31:56的发言:

pos: 0 1 2 3 4 5 6 7 8 9 10 11 12 13
 
sum(0-2) = sum(2-4) = sum(4-6) = sum(6-8) = sum(8-10) = sum(10-12)= sum(12-0) = 26
 
穷举可以 但是效率太低 其他算法想想看
 
好玩的题 mark
穷举法怎么编程啊,怎样变成代码啊,可以帮我写出来不啊,万分感谢

只有不断学习人生才有乐趣
2011-04-08 16:38
kuangyitian
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-4-8
收藏
得分:0 
以下是引用njkido在2011-4-8 17:34:05的发言:

好像很多结果  部分结果摘录 不知道是不是这个意思
 
find!
第1条边: 12--6--8
第2条边: 8--4--14
第3条边: 14--3--9
第4条边: 9--7--10
第5条边: 10--5--11
第6条边: 11--2--13
第7条边: 13--1--12
 
find!
第1条边: 8--6--12
第2条边: 12--4--10
第3条边: 10--7--9
第4条边: 9--3--14
第5条边: 14--1--11
第6条边: 11--2--13
第7条边: 13--5--8
 
find!
第1条边: 12--6--8
第2条边: 8--5--13
第3条边: 13--2--11
第4条边: 11--1--14
第5条边: 14--3--9
第6条边: 9--7--10
第7条边: 10--4--12
 
find!
第1条边: 12--6--8
第2条边: 8--5--13
第3条边: 13--4--9
第4条边: 9--7--10
第5条边: 10--2--14
第6条边: 14--1--11
第7条边: 11--3--12
 
find!
第1条边: 8--6--12
第2条边: 12--5--9
第3条边: 9--4--13
第4条边: 13--3--10
第5条边: 10--2--14
第6条边: 14--1--11
第7条边: 11--7--8
 
find!
第1条边: 8--6--12
第2条边: 12--5--9
第3条边: 9--7--10
第4条边: 10--3--13
第5条边: 13--2--11
第6条边: 11--1--14
第7条边: 14--4--8
 
find!
第1条边: 12--6--8
第2条边: 8--7--11
第3条边: 11--1--14
第4条边: 14--2--10
第5条边: 10--3--13
第6条边: 13--4--9
第7条边: 9--5--12
 
find!
第1条边: 12--6--8
第2条边: 8--7--11
第3条边: 11--5--10
第4条边: 10--2--14
第5条边: 14--3--9
第6条边: 9--4--13
第7条边: 13--1--12
 
find!
第1条边: 11--6--9
第2条边: 9--3--14
第3条边: 14--2--10
第4条边: 10--4--12
第5条边: 12--1--13
第6条边: 13--5--8
第7条边: 8--7--11
 
find!
第1条边: 9--6--11
第2条边: 11--3--12
第3条边: 12--1--13
第4条边: 13--5--8
第5条边: 8--4--14
第6条边: 14--2--10
第7条边: 10--7--9
 
find!
第1条边: 11--6--9
第2条边: 9--5--12
第3条边: 12--1--13
第4条边: 13--3--10
第5条边: 10--2--14
第6条边: 14--4--8
第7条边: 8--7--11
 
find!
第1条边: 9--6--11
第2条边: 11--7--8
第3条边: 8--4--14
第4条边: 14--2--10
第5条边: 10--3--13
第6条边: 13--1--12
第7条边: 12--5--9
 
find!
第1条边: 9--6--11
第2条边: 11--7--8
第3条边: 8--5--13
第4条边: 13--1--12
第5条边: 12--4--10
第6条边: 10--2--14
第7条边: 14--3--9
 
find!
第1条边: 11--6--9
第2条边: 9--7--10
第3条边: 10--2--14
第4条边: 14--4--8
第5条边: 8--5--13
第6条边: 13--1--12
第7条边: 12--3--11
 
find!
第1条边: 8--7--11
第2条边: 11--1--14
第3条边: 14--2--10
第4条边: 10--3--13
第5条边: 13--4--9
第6条边: 9--5--12
第7条边: 12--6--8
 
find!
第1条边: 11--7--8
第2条边: 8--4--14
第3条边: 14--2--10
第4条边: 10--3--13
第5条边: 13--1--12
第6条边: 12--5--9
第7条边: 9--6--11
 
find!
第1条边: 11--7--8
第2条边: 8--5--13
第3条边: 13--1--12
第4条边: 12--4--10
第5条边: 10--2--14
第6条边: 14--3--9
第7条边: 9--6--11
 
find!
第1条边: 8--7--11
第2条边: 11--5--10
第3条边: 10--2--14
第4条边: 14--3--9
第5条边: 9--4--13
第6条边: 13--1--12
第7条边: 12--6--8
 
find!
第1条边: 11--7--8
第2条边: 8--6--12
第3条边: 12--1--13
第4条边: 13--4--9
第5条边: 9--3--14
第6条边: 14--2--10
第7条边: 10--5--11
 
find!
第1条边: 11--7--8
第2条边: 8--6--12
第3条边: 12--5--9
第4条边: 9--4--13
第5条边: 13--3--10
第6条边: 10--2--14
第7条边: 14--1--11
 
find!
第1条边: 8--7--11
第2条边: 11--6--9
第3条边: 9--3--14
第4条边: 14--2--10
第5条边: 10--4--12
第6条边: 12--1--13
第7条边: 13--5--8
 
find!
第1条边: 8--7--11
第2条边: 11--6--9
第3条边: 9--5--12
第4条边: 12--1--13
第5条边: 13--3--10
第6条边: 10--2--14
第7条边: 14--4--8
 
find!
第1条边: 9--7--10
第2条边: 10--2--14
第3条边: 14--1--11
第4条边: 11--3--12
第5条边: 12--6--8
第6条边: 8--5--13
第7条边: 13--4--9
 
find!
第1条边: 9--7--10
第2条边: 10--2--14
第3条边: 14--4--8
第4条边: 8--5--13
第5条边: 13--1--12
第6条边: 12--3--11
第7条边: 11--6--9
 
find!
第1条边: 10--7--9
第2条边: 9--3--14
第3条边: 14--1--11
第4条边: 11--2--13
第5条边: 13--5--8
第6条边: 8--6--12
第7条边: 12--4--10
 
find!
第1条边: 10--7--9
第2条边: 9--3--14
第3条边: 14--4--8
第4条边: 8--6--12
第5条边: 12--1--13
第6条边: 13--2--11
第7条边: 11--5--10
 
find!
第1条边: 9--7--10
第2条边: 10--3--13
第3条边: 13--2--11
第4条边: 11--1--14
第5条边: 14--4--8
第6条边: 8--6--12
第7条边: 12--5--9
 
find!
第1条边: 10--7--9
第2条边: 9--4--13
第3条边: 13--5--8
第4条边: 8--6--12
第5条边: 12--3--11
第6条边: 11--1--14
第7条边: 14--2--10
 
find!
第1条边: 9--7--10
第2条边: 10--4--12
第3条边: 12--6--8
第4条边: 8--5--13
第5条边: 13--2--11
第6条边: 11--1--14
第7条边: 14--3--9
 
find!
第1条边: 10--7--9
第2条边: 9--5--12
第3条边: 12--6--8
第4条边: 8--4--14
第5条边: 14--1--11
第6条边: 11--2--13
第7条边: 13--3--10
 
find!
第1条边: 9--7--10
第2条边: 10--5--11
第3条边: 11--2--13
第4条边: 13--1--12
第5条边: 12--6--8
第6条边: 8--4--14
第7条边: 14--3--9
 
find!
第1条边: 10--7--9
第2条边: 9--6--11
第3条边: 11--3--12
第4条边: 12--1--13
第5条边: 13--5--8
第6条边: 8--4--14
第7条边: 14--2--10
您好,真的很佩服您!可以告诉我源代码吗?我想在电脑上演示给我儿子看

只有不断学习人生才有乐趣
2011-04-08 20:23
kuangyitian
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-4-8
收藏
得分:0 
以下是引用kwxx在2011-4-8 20:13:14的发言:

/*-------------------------
分析:   
1)偶下标一定是奇数:即顶点处一定是奇数
2) 相邻奇数,不能是相邻的顶点   
--------------------------*/
#include
void main()
 {   
    int  i,k=0,n=1, a[14]={0};

    for(i=0;i<7;i++,k=k+2,n=n+6)  //放奇数
        a[k]=n%14;

    for(i=1;i<13;i=i+2) //放偶数
        a=22-a-a;
    a[13]=22-a[12]-a[0];

    for(i=0;i<14;i++)
        printf("%4d",a);
    printf("\n");
}
//运行结果:   1  14   7   2  13   4   5   6  11   8   3  10   9  12
您这里三边之和等于22不等于26

只有不断学习人生才有乐趣
2011-04-08 20:27
kuangyitian
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-4-8
收藏
得分:0 
以下是引用njkido在2011-4-9 02:03:29的发言:

思想:
1 找出3数和为26的所有组合(3个数范围在1-14)
2 7条边 用1中的组合试 邻边有且只有1个数相同  
 
实现的时候:flag用于剔除重复,第N位表示N,比如flag=(0000011010)b 即表示(1,3,4)的组合   
 
// TempTemp.cpp : 定义控制台应用程序的入口点。
//
 
#include "stdafx.h"
#include  
#include  
#include  
 
#define MY_DEBUG  (0)
#define MAX_ROW   (100)
#define NUM_MAX   (14)
#define SIDES_SUM (26)
 
int SideCombArray[MAX_ROW][3] = {0};
int SideCombFlag[MAX_ROW] = {0};
 
 
inline int GetSideCombFlag(int i, int j, int k)
{
    int flag = 0;
 
    flag |= 1<
您真是高手啊,太感谢了!     我原来也用组合做过,就是没有做出来,后来我又这样想:七条边,每条边之和为26,7*26=182,1到14的数字相加等于105,182-105=77,这个77就是七边形的七个顶点上的数字的和,所以每条边的中点的数字之和就是105-77=28,也就是说顶点的数字只能是由:8,9,10,11,12,13,14这些数字构成,而中点的数字只能由:1,2,3,4,5,6,7这些数字构成,我尝试了用数组排序的办法去实现,但由于才自学C语言没多久,把脑壳搞大了也没有搞成。

只有不断学习人生才有乐趣
2011-04-09 06:52
kuangyitian
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-4-8
收藏
得分:0 
以下是引用kwxx在2011-4-8 20:34:03的发言:

不好意思,是我分析错了。
兄弟啊,我是这样想的,可我自己没有实现,我的想法是这样的:七条边,每条边之和为26,7*26=182,1到14的数字相加等于105,182-105=77,这个77就是七边形的七个顶点上的数字的和,所以每条边的中点的数字之和就是105-77=28,也就是说顶点的数字只能是由:8,9,10,11,12,13,14这些数字构成,而中点的数字只能由:1,2,3,4,5,6,7这些数字构成,我尝试了用数组排序的办法去实现,但由于才自学C语言没多久,把脑壳搞大了也没有搞成。

只有不断学习人生才有乐趣
2011-04-09 06:55
kuangyitian
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-4-8
收藏
得分:0 
以下是引用ansic在2011-4-9 10:43:15的发言:

 
是这样的?
 
        int a,b,c,j=0;
        for(a=8;a<15;a++) {
                for(c=8;c<15;c++) {
                        for(b=1;b<8;b++) {
                                if(26==a+b+c&&a!=c) {
                                        printf ("%i\t%i+%i+%i=26\n",j,a,b,c);j++
;
                                }
                        }
                }
        }
}
兄弟啊,这段代码只是把符合条件的34种组合排出来了,这个我昨天也这样做出来了,也是34种,问题是怎样把他符合条件的14个数字组合到一起,我就不知道怎样写代码了,我在尝试用数组排序解决,但我还没有搞成

只有不断学习人生才有乐趣
2011-04-09 11:07
kuangyitian
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2011-4-8
收藏
得分:0 
以下是引用ansic在2011-4-9 10:43:15的发言:

 
是这样的?
 
        int a,b,c,j=0;
        for(a=8;a<15;a++) {
                for(c=8;c<15;c++) {
                        for(b=1;b<8;b++) {
                                if(26==a+b+c&&a!=c) {
                                        printf ("%i\t%i+%i+%i=26\n",j,a,b,c);j++
;
                                }
                        }
                }
        }
}
前面有一位高人贴了一段代码出来,我验证了,是对的,但现阶段对于我来讲复杂了一点,我在寻求简单的方法

只有不断学习人生才有乐趣
2011-04-09 11:10
快速回复:一个七边形,把1到14这些数摆在它的每条边上,每个数用一次,使每条边 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.055833 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved