4182: 两两相加
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:1
解决:1
题目描述
给定一组包含n个(n>3) 正整数数据,和一个正整数m,从这n个正整数中任意拿出两个数相加,相加后的结果正好为m的值,计算出这n个正整数中有多少组这样的数据。
给定一组正整数为:1, 3, 2, 4,正整数m为 3,其中有1组符合要求,为1和2(注:1和2组合,2和1组合,为1组组合)。
给定一组正整数为:2, 7, 11, 6, 13,正整数m为 13,其中有2组符合要求,分别为 2 和11,7 和 6( 注:2和11组合,11和2组合,为1组组合;7和6组合,6和7组合,为1组组合)。
输入
第一行输入n个数字(n>3),且n个数字之间以英文逗号隔开;第二行为相加后的结果m。
输出
这n个正整数中有多少组这样的数据
样例输入 复制
2,7,11,6,13
13
样例输出 复制
2
提示
编程思路:
1. 用户输入的数据转为列表ls和整数m
2. 初始化计数器ans=0
3. 遍历列表ls,如果m-i也在列表中,则计数器ans自增1,同时删除这1对数据;
4. 输出ans
ls=list(map(int,input().split(','))) m=int(input()) ans=0 for i in ls: if m-i in ls: ans+=1 ls.remove(i) ls.remove(m-i) print(ans)