【和为奇数】

奇数是指不能被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号握手了,因为前面握过了。

参考程序:

返回搜狐,查看更多