| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2612 人关注过本帖
标题:请问下算法大神,从一个数组中取其中某些数相加到一定范围,然后再输出
只看楼主 加入收藏
qianyou
Rank: 3Rank: 3
来 自:江西南昌
等 级:论坛游侠
帖 子:76
专家分:189
注 册:2011-3-25
结帖率:100%
收藏
已结贴  问题点数:40 回复次数:19 
请问下算法大神,从一个数组中取其中某些数相加到一定范围,然后再输出
请教大神,从一个数组当中任意取一些数进行相加,然后相加到一定的范围后再进行输出。哪怕跟我说说思路也行。
例如输入:
数组: 1 2 3 4 5 6 7 8 9 10

区间为:5-10

输出:1+4
      1+5
      1+6
      1+7
      1+8
      1+9
      2+3
      2+4
        .
        .
        .
把所有符合的都排列出来
搜索更多相关主题的帖子: 说说 
2012-12-31 17:17
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:4 
若无序,请遍历

若有序,加上限定条件再遍历


[fly]存在即是合理[/fly]
2012-12-31 18:08
w527705090
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:11
帖 子:441
专家分:1882
注 册:2011-6-28
收藏
得分:4 
srand  这个函数
和rand这个函数。。。

有心者,千方百计;无心者,千难万难。
2012-12-31 19:13
神鸡降临
Rank: 2
等 级:论坛游民
帖 子:20
专家分:23
注 册:2012-12-29
收藏
得分:4 
回复 3楼 w527705090
这俩函数不是返回随机数么?没法按楼主意思输出啊?
2012-12-31 20:06
qianyou
Rank: 3Rank: 3
来 自:江西南昌
等 级:论坛游侠
帖 子:76
专家分:189
注 册:2011-3-25
收藏
得分:0 
回复 2楼 azzbcc
大哥,请把思路说清楚一点好吗?我一下还真的没理解
2012-12-31 20:25
qianyou
Rank: 3Rank: 3
来 自:江西南昌
等 级:论坛游侠
帖 子:76
专家分:189
注 册:2011-3-25
收藏
得分:0 
回复 3楼 w527705090
如果你知道,麻烦你说详细点好吗?小弟才疏学浅啊!
2012-12-31 20:26
qunxingw
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:24
帖 子:1676
专家分:7295
注 册:2011-6-30
收藏
得分:4 
也有可能多个数相加吧1,2,3。曾经思考过,多层循环遍历各种可能,利用绝对值函数。但没有找到更易方法。

www.qunxingw.wang
2012-12-31 20:36
你不想去那儿
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:56
专家分:114
注 册:2012-9-21
收藏
得分:4 
程序代码:
#include<stdio.h>
int main()
{
    int a[10];
    int i,j;
    int low=5,hign=10;        //自己定义
    for(i=0;i<10;i++)
        a[i]=i;                //自己输入,scanf("%d",&a[i]);
    for(i=1;i<10;i++)
        for(j=1;j<10;j++)
            if(a[i]+a[j]>=5&&a[i]+a[j]<=10&&a[i]<a[j])
                printf("%d+%d\n",i,j);
    return 0;
}
2012-12-31 20:41
神鸡降临
Rank: 2
等 级:论坛游民
帖 子:20
专家分:23
注 册:2012-12-29
收藏
得分:0 
按你的假设,范围是(5~10),设m n,m从1开始,n=5-m,直到m第一次小于n,然后把5换成6、7、8、9、10,这样遍历一遍输出m n。

[ 本帖最后由 神鸡降临 于 2012-12-31 20:46 编辑 ]
2012-12-31 20:43
神鸡降临
Rank: 2
等 级:论坛游民
帖 子:20
专家分:23
注 册:2012-12-29
收藏
得分:0 
回复 8楼 你不想去那儿
8楼if(a[i]+a[j]>=5&&a[i]+a[j]<=10&&a[i]<a[j])
当a[i]=a[j]时也得判断。
2012-12-31 20:45
快速回复:请问下算法大神,从一个数组中取其中某些数相加到一定范围,然后再输出 ...
数据加载中...
 
   



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

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