分数 10
全屏浏览题目
切换布局
作者 陈越
单位 浙江大学
给定N
个正整数,请统计奇数和偶数各有多少个?
输入格式:
输入第一行给出一个正整N
(≤1000);第2行给出N
个非负整数,以空格分隔。
输出格式:
在一行中先后输出奇数的个数、偶数的个数。中间以1个空格分隔。
输入样例:
9
88 74 101 26 15 0 34 22 77
输出样例:
3 6
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
我的答案:
这个题目的要求比较简单。我们只需要遍历这些数字并检查每个数字是否是偶数或奇数。遍历时,我们可以使用两个计数器:一个用于计算奇数的数量,另一个用于计算偶数的数量。
解题思路:
- 初始化两个计数器:
odd_count
和even_count
,分别用于计数奇数和偶数。 - 遍历每个数字。对于每个数字,检查它是否是偶数。如果数字除以2的余数为0,那么它是偶数;否则,它是奇数。
- 如果数字是偶数,增加
even_count
;否则,增加odd_count
。 - 输出
odd_count
和even_count
。
C语言:
#include <stdio.h>
int main() {
int N;
scanf("%d", &N);
int even_count = 0, odd_count = 0;
for(int i = 0; i < N; i++) {
int num;
scanf("%d", &num);
if(num % 2 == 0) {
even_count++;
} else {
odd_count++;
}
}
printf("%d %d\n", odd_count, even_count);
return 0;
}
C++:
#include <iostream>
using namespace std;
int main() {
int N;
cin >> N;
int even_count = 0, odd_count = 0;
for(int i = 0; i < N; i++) {
int num;
cin >> num;
if(num % 2 == 0) {
even_count++;
} else {
odd_count++;
}
}
cout << odd_count << " " << even_count << endl;
return 0;
}
分析过程:
本题的解题方法是直接的,利用了整数的性质来判断奇偶。通过模运算(取余数运算)来判断数字是奇数还是偶数。模2运算结果为0表示数字是偶数,为1表示数字是奇数。这是一个简单的方法来解决这个问题,不需要额外的数据结构或复杂的算法。
总结:
这道题没什么好总结的