| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1394 人关注过本帖
标题:有空的都来看看这个题目应该设计什么样的算法?
只看楼主 加入收藏
czz5242199
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:660
专家分:2400
注 册:2011-10-26
收藏
得分:0 
回复 20楼 有容就大
没必要的,而且答案应该有很多组
2012-02-29 13:18
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
1 2 4 5 11
1 2 4 6 10
1 2 4 7 9
应该就这3组 等下去写个程序验证下。


[ 本帖最后由 有容就大 于 2012-2-29 13:21 编辑 ]

梅尚程荀
马谭杨奚







                                                       
2012-02-29 13:20
zxd675816777
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:252
专家分:631
注 册:2012-2-3
收藏
得分:0 
回复 20楼 有容就大
亲,你排一排啊。。。额。。。

数学好难!
2012-02-29 13:23
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
下面只是验证程序。
程序代码:
#include <stdio.h>
#include <windows.h>

int main(void)
{
    int a, b, c, d, e, count = 0;

    for (a = 1; a <= 23; a++)
        for (b = 1; b <= 23; b++)
            for (c = 1; c <= 23; c++)
                for (d = 1; d <= 23; d++)
                    for (e = 1; e <= 23; e++)
     if (a + b + c + d + e == 23)
     {
         if (a != b && a != c && a != d && a != e)
             if ( b != c && b != d && b != e)
                 if (c != d && c != e)
                     if (d != e)
           if (a < b && b < c && c < d && d < e)
            {
             printf("%d\t%d\t%d\t%d\t%d\n", a, b, c, d, e);
             count++;
            }                
     }
     printf("%d\n", count);
    return 0;
}
图片附件: 游客没有浏览图片的权限,请 登录注册

显然2开头的不行, 1 2 3 4 13 表示不了11 12
                  1 2 3 8 9   表示不了 7
                  1 2 5 表示不了4
                  1 3 表示不了2
                  1 4 表示不了 2 3
看来我上面的结论有点武断,应该是这几组:1 2 3 5 12
                                        1 2 3 6 11
                                        1 2 3 7 10
                                        1 2 4 5 11
                                        1 2 4 6 10
                                        1 2 4 7 9
不知对否?

梅尚程荀
马谭杨奚







                                                       
2012-02-29 14:09
回首依依
Rank: 7Rank: 7Rank: 7
来 自:苏州
等 级:黑侠
威 望:1
帖 子:193
专家分:524
注 册:2011-12-3
收藏
得分:2 
回复 7楼 婷婷99
这是一个无聊的问题,更本不会有这样的数存在。
现在,我们假设它存在,那么1,2,必然在其中;那么如何表示4呢?2+2,1+1+2吗?我想,不是,如果可以选取重复的数字,那就没意义了,因为任何整数都可以用1来表示的。现在要用3来表示4了;现在3也在其中了,那么如何表示10呢,把4引进,现在是1 2 3 4了,那么就是1 2 3 4 13,11怎么表示啊?这样又要重复了。

[ 本帖最后由 回首依依 于 2012-2-29 15:49 编辑 ]
2012-02-29 15:38
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
回复 25楼 回首依依
你把问题看的太简单了。

梅尚程荀
马谭杨奚







                                                       
2012-02-29 15:42
苹果CC
Rank: 1
等 级:新手上路
帖 子:4
专家分:2
注 册:2012-2-18
收藏
得分:2 
这个行
2012-02-29 16:02
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
程序代码:
#include<stdio.h>
void sub_search(int id, int s, int a, int n, int r)
{
    static int list[32];
    int i, j;
    if(n == 0)
    {
        for(i = 0; i < id; printf("%4d", list[i++]));
        printf("\n");
        return;
    }
    j = (1 << n - 1) - 1;
    for(i = a + 1; i <= s + 1 && s + i <= r; i++)
        if(s + i + j + (s + i) * j >= r)
            sub_search(id + 1, s + i, list[id] = i, n - 1, r);
}
void search(int n, int r)
{
    sub_search(0, 0, 0, n, r);
}
int main()
{
    search(5, 23);
    return 0;
}

满足条件的答案一共6组
   1   2   3   5  12
   1   2   3   6  11
   1   2   3   7  10
   1   2   4   5  11
   1   2   4   6  10
   1   2   4   7   9


重剑无锋,大巧不工
2012-02-29 16:21
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
回复 28楼 beyondyf
杨大哥就是厉害,也证实了我上面的结论。
什么时候能写出杨大哥那样简洁又有思维深度的代码就好了。

梅尚程荀
马谭杨奚







                                                       
2012-02-29 18:37
zxd675816777
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:252
专家分:631
注 册:2012-2-3
收藏
得分:0 
回复 28楼 beyondyf
杨大哥。。。

数学好难!
2012-02-29 21:57
快速回复:有空的都来看看这个题目应该设计什么样的算法?
数据加载中...
 
   



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

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