【和为奇数】
奇数是指不能被2整除的整数。
给定n个整数,两两相加和为奇数的两个数,我们称之为1项,请你找出总共会有多少项和为奇数。结果存入输出中。
注意:一项中的两个数与顺序无关,即23与32是同一项。
输出格式:
正确找出n个整数中和为奇数的项数。
样例输入:
5
12345
样例输出:
6
编程解析:
(1)n个整数,要求出两两相加和为奇数的两个数 有多少对,首先我们需要知道n个整数中一共有多少组合,将它们的和都计算出来,然后再通过除以2的余数不等于0(等于1)来判断有多少项的和为奇数。
如:1 2 3 4 5,5个整数两两相加一共有多少组合
1+1=2 1+2=3 ...... 1+5=6
2+1=3 2+2=4 ...... 2+5=7 ....... 5+5=10
两两相加和为奇数的
1+1=2 1+2= 3 ...... 1+5=6
2+1= 3 2+2=4 ...... 2+5= 7 ....... 5+5=10
展开全文
(2)新建“组合”列表,将组合的数对存入列表,这样我们能更清楚的看到满足条件的数对。
如:1 2 3 4 5,5个整数两两相加和为奇数的两个数对。
(3)一项中的两个数与顺序无关,即23与32是同一项,通过观察下图我们发现,只需要保留一半即可,要么保留前一个数字比后一个数字小的一半(后一个数字比前一个数字小,它们已经组合过,因为比它小的数字已经和所有数字组合过,它只需要考虑和比它大的数字组合),要么保留前一个数字比后一个数字大的一半。
例如:编号为 1、2、3、4、5的5位同学互相握手, 当我们的1号和2号握手时,2号也在和1号握手。所以当3号同学去和其他同学握手时就不需要再和1号、2号握手了,因为前面握过了。
参考程序:
返回搜狐,查看更多