A25733. 编程实现:给定一个正整数N,和M个不同的正整数。然后将M个正整数中任意两个数进行组合,且求出每组组合的和,问M个正整数中有多少组组合的和恰好等于N。如:正整数N为6,M为5,5个不同的正整数分别为1,2,3,4,5。任意两数组合有10组:1+2,1+3,1+4,1+5,2+3,2+4,2+5,3+4,3+5,4+5其中和正好等于6的组合有2组:1+5,2+4输入描述:第一行输入一个正整数N第二行…
填空题
较易
知识点
题目描述
编程实现:
给定一个正整数N,和M个不同的正整数。然后将M个正整数中任意两个数进行组合,且求出每组组合的和,问M个正整数中有多少组组合的和恰好等于N。
如:正整数N为6,M为5,5个不同的正整数分别为1,2,3,4,5。
任意两数组合有10组:1+2,1+3,1+4,1+5,2+3,2+4,2+5,3+4,3+5,4+5
其中和正好等于6的组合有2组:1+5,2+4
输入描述:
第一行输入一个正整数N
第二行输入M个不同的正整数,且正整数之间以一个英文逗号隔开
输出描述:
输出M个不同正整数中有多少组组合的和恰好等于N
样例输入:
5
1,2,3,4,5样例输出:
2参考答案
#参考答案1
n=int(input())
m=input()
m=m.strip()
m=m.split(",")
result=0
for i,i1 in enumerate(m[0:-1]):
for i2 in m[(i+1):]:
if int(i1)+int(i2)==n:
result+=1
print(result)
#参考答案2
n = int(input())
s = list(map(int,input().split(",")))
cnt = 0
for i in range(len(s)):
for j in range(len(s)):
if i!= j and s[i]+s[j] == n:
cnt += 1
print(cnt//2)答案解析
评分标准:
6分:能正确输出一组数据;
6分:能正确输出两组数据;
6分:能正确输出三组数据;
7分:能正确输出四组数据。
上一题
下一题