跳转至

统计组合

题目描述

给定一组包含 n 个(n>3) 正整数数据,和一个正整数 M,从这 n 个正整数中任意拿出两个数相加,相加后的结果正好为 M 的值,计算出这 n 个正整数中有多少组这样的数据。

例如:

给定一组正整数为:1, 3, 2, 4,正整数 M 为 3,其中有 1 组符合要求,为 1 和 2

给定一组正整数为:2, 7, 11, 6, 13,正整数 M 为 13,其中有 2 组符合要求,分别为 2 和 11,7 和 6

输入描述

第一行输入 n 个正整数,正整数之间英文逗号隔开(正整数不能有重复,且 n>3) ,第二行输入一个正整数 M

输出描述

输出 n 个正整数中两个数相加的结果正好为 M 的组合有几组

样例输入

2, 7, 11, 6, 13

13

样例输出

2

代码详解

展开查看
ls = [int(i) for i in input().split(",")]
M = int(input())
cnt = 0
for i in range(len(ls) - 1):
    for j in range(i + 1, len(ls)):
        if ls[i] + ls[j] == M:
            cnt += 1
print(cnt)

运行结果

展开查看
2,7,11,6,13
13
2