给定n个正整数,请统计奇数和偶数各有多少个? 输入格式: 输入第一行给出一个正整n(≤1000);第2行给出n个非负整数,以空格分隔。 输出格式: 在一行中先后输出奇数的个数、偶数的个数。中间以1个空格分隔。 输入样例: 9 88 74 101 26 15 0 34 22 77 输出样例: 3 6
时间: 2023-05-31 12:21:09 浏览: 224
给定N个正整数,请统计奇数和偶数各有多少个-C语言代码
### 回答1:
题目描述
给定n个正整数,请统计奇数和偶数各有多少个?
输入格式:
输入第一行给出一个正整n(≤100);第2行给出n个非负整数,以空格分隔。
输出格式:
在一行中先后输出奇数的个数、偶数的个数。中间以1个空格分隔。
输入样例:
9 88 74 101 26 15 34 22 77
输出样例:
3 6
算法1
(模拟) $O(n)$
时间复杂度
参考文献
python3 代码
C++ 代码
java 代码
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
### 回答2:
题目描述
给定n个正整数,请统计奇数和偶数各有多少个?
输入格式:
输入第一行给出一个正整n(≤1000);第2行给出n个非负整数,以空格分隔。
输出格式:
在一行中先后输出奇数的个数、偶数的个数。中间以1个空格分隔。
输入样例:
9 88 74 101 26 15 0 34 22 77
输出样例:
3 6
分析思路
读入数据的时候,顺便统计一下即可
Python 代码
### 回答3:
题目分析:
给定 n 个正整数,需要统计奇数和偶数的个数。
一种简单的方法是对于每个数,判断它除以 2 的余数,如果余数为 0,则为偶数,否则为奇数,然后累加即可。但是,这种方法需要判断 n 次,时间复杂度为 O(n)。
另一种更为简洁的方法是利用奇数的特点——奇数除以 2 的余数一定为 1。因此,可以通过对每个数做取模运算,统计余数为 0 和 1 的数的个数,它们分别对应偶数和奇数。这样只需要遍历一遍数组,时间复杂度为 O(n)。
代码实现:
具体做法是定义两个计数器,分别用来记录余数为 0 和 1 的数的个数,最后输出即可。
C++ 代码
阅读全文