| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2048 人关注过本帖
标题:7对数字排序,请帮忙看下
只看楼主 加入收藏
丘山君
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:87
专家分:154
注 册:2017-11-15
结帖率:54.55%
收藏
已结贴  问题点数:20 回复次数:6 
7对数字排序,请帮忙看下
题目为
有7对数字,一对1,一对2,一对3,。。一对7;要求两个1之间有1个数,两个2之间有2个数,两个3之间有三个数。。。两个7之间有7个数
例如:74****4*7*****
我想了下找不到用代码来实现,想用笔来实现又太难了,能不能给个思路,如果代码和思路都有的话就太感谢了
搜索更多相关主题的帖子: 数字 排序 个数 代码 思路 
2017-11-28 18:24
Alien_Lee
Rank: 8Rank: 8
来 自:Linux帝国
等 级:蝙蝠侠
威 望:7
帖 子:149
专家分:739
注 册:2016-7-19
收藏
得分:10 
貌似也只能按照一定的顺序尝试。
用一个十四个元素的线性表,0表示没有被占用,1,表示被占用。
从1开始,如果第一个1在第i个位置,则i和i+2被占用,然后 for i 1->12.
2->7同理,如果相应位置没有被占用,则符合。
如果全部都符合,则可以输出这组数。

  DEBUG的过程就是进步的过程,每一个小错误都是大问题!...
2017-11-28 19:33
丘山君
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:87
专家分:154
注 册:2017-11-15
收藏
得分:0 
回复 2楼 Alien_Lee
我理解的意思是按照你的思想,那要7层循环吗
2017-11-28 21:16
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:10 
这实质不就是拼图游戏么~

拼图游戏似乎要穷举,从数学来说似乎可能找不到简便方法要老老实实枚举~

手工算出~
57416154372632~

还有对偶

23627345161475
不知道这个是不是唯一解~

PS:

17126425374635
53647358468171
~

[此贴子已经被作者于2017-11-28 22:53编辑过]


[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-11-28 22:04
丘山君
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:87
专家分:154
注 册:2017-11-15
收藏
得分:0 
回复 4楼 九转星河
好吧,谢谢。
2017-11-29 08:27
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9032
专家分:54066
注 册:2011-1-18
收藏
得分:0 
忙里偷闲随手写的,对不对没验证

程序代码:
#include <stdio.h>

void foo( unsigned mask[static 14], unsigned pair )
{
    if( pair == 8 )
    {
        for( size_t i=0; i!=14; ++i )
            printf( "%u%c", mask[i], i+1==14?'\n':' ' );
        return;
    }

    for( size_t i=0; i+1+pair!=14; ++i )
    {
        if( mask[i]==0 && mask[i+1+pair]==0 )
        {
            mask[i]=pair, mask[i+1+pair]=pair;
            foo( mask, pair+1 );
            mask[i]=0, mask[i+1+pair]=0;
        }
    }
}

int main( void )
{
    unsigned mask[14] = { 0 };
    foo( mask, 1 );

    return 0;
}

2017-11-29 10:29
loyy
Rank: 2
等 级:论坛游民
帖 子:16
专家分:21
注 册:2017-11-30
收藏
得分:0 
    循环套循环吧   两个循环差不多
2017-11-30 20:44
快速回复:7对数字排序,请帮忙看下
数据加载中...
 
   



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

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