写一程序,求两两配对......

小小的夏 发布于 2013/03/04 20:21
阅读 1K+
收藏 0

数据:

1,2,3,4,5

输出:

1,2 = 3
1,3 = 4
1,4 = 5
1,5 = 6
2,3 = 5
2,4 = 6
2,5 = 7
3,4 = 7
3,5 = 8
4,5 = 9

以下是问题补充:

@小小的夏:有木有java版的...... (2013/03/05 19:37)
加载中
0
random_walk
random_walk
Mathematica one linear:

random_walk
random_walk
回复 @夏天不哭 : 楼下我写的也有java版的
小小的夏
小小的夏
看不懂。。。悲催了。
0
修改登录密码
修改登录密码

楼上的代码.....C程序员表示有压力


&@@@ 这啥意思啊

random_walk
random_walk
#配合&是匿名函数,@@@是Apply,类似于Python中的apply和*arg,参见http://reference.wolfram.com/mathematica/ref/Apply.html
0
random_walk
random_walk

就是排列组合的问题,也可看出[1,2,3,4,5]的子集中所有长度为2的子集。
用递归做可能比较省事,可以参考 http://www.oschina.net/code/snippet_103482_18704中的comb的定义,Python代码应该比较易懂吧

0
南湖船老大
南湖船老大
C(n,2)的组合么。。用专业术语啊
0
Xsank
Xsank

来个python版的

a=[1,2,3,4,5]
for i in itertools.combinations(a,2):
    print '%d,%d=%d' % (i[0],i[1],i[0]+i[1])
1,2=3
1,3=4
1,4=5
1,5=6
2,3=5
2,4=6
2,5=7
3,4=7
3,5=8
4,5=9

0
高得顺
高得顺

scala凑热闹

(1 to 5).combinations(2).foreach(println)
Vector(1, 2)
Vector(1, 3)
Vector(1, 4)
Vector(1, 5)
Vector(2, 3)
Vector(2, 4)
Vector(2, 5)
Vector(3, 4)
Vector(3, 5)
Vector(4, 5)

0
random_walk
random_walk

如果不考虑通用性,就本题来说两个循环就行了

一种方案

for (int i = 1; i < 5; i++) 
    for (int j = 1; j < 6-i; j++) 
        System.out.println( i +","+(i+j)+"="+(2*i+j));

0
liu6jing6
liu6jing6

我说。。。。这是JAVA讨论区么。。。。

我说刚刚开始那个回答没看懂。。。我还以为我白学了呢,,,

0
hanQ
hanQ

我来补个java版的吧,跟比冒泡排序简单多了

public static void two() {
    int[] source = { 1, 2, 3, 4, 5 };
    int len = source.length;

    for (int i = 0; i < len; i++) {
        for (int j = i + 1; j < len; j++) {
            System.out.println(source[i] + "," + source[j] + "="
                    + (source[i] + source[j]));
        }
    }
}
0
吴尊前
吴尊前

java版的来了,亲测可以哦

public void outPutCn2(int[] inputArray) throws Exception{
		if(isArrayEqual(inputArray, new int[]{1,2,3,4,5})){
			System.out.println("1,2 = 3");
			System.out.println("1,3 = 4");
			System.out.println("1,4 = 5");
			System.out.println("1,5 = 6");
			System.out.println("2,3 = 5");
			System.out.println("2,4 = 6");
			System.out.println("2,5 = 7");
			System.out.println("3,4 = 7");
			System.out.println("3,5 = 8");
			System.out.println("4,5 = 9");
		}else{
			throw new Exception("请联系开发#夏天不哭#, 缴纳100元以后可以获得更新程序,一次性缴纳1000元可以获得永久更新支持");
		}
	}

垫底小王子
垫底小王子
赤裸裸的逗比!
返回顶部
顶部