洛谷P2955 [USACO09OCT]奇数偶数Even? Odd?

洛谷P2955 [USACO09OCT]奇数偶数Even? Odd?


题目描述
Bessie’s cruel second grade teacher has assigned a list of N (1 <= N <= 100) positive integers I (1 <= I <= 10^60) for which Bessie must determine their parity (explained in second grade as ‘Even… or odd?’). Bessie is overwhelmed by the size of the list and by the size of the numbers. After all, she only learned to count recently.

Write a program to read in the N integers and print ‘even’ on a single line for even numbers and likewise ‘odd’ for odd numbers.

POINTS: 25

Bessie那惨无人道的二年级老师搞了一个有 N 个正整数 I 的表叫Bessie去判断“奇偶性”(这个词语意思向二年级的学生解释,就是“这个数是单数,还是双数啊?”)。Bessie被那个表的长度深深地震惊到了,竟然跟栋栋的泛做表格一样多道题!!!毕竟她才刚刚学会数数啊。

写一个程序读入N个整数,如果是双数,那么在单立的一行内输出"even",如果是单数则类似地输出"odd".

输入格式

  • Line 1: A single integer: N

  • Lines 2…N+1: Line j+1 contains I_j, the j-th integer to determine even/odd

输出格式

  • Lines 1…N: Line j contains the word ‘even’ or ‘odd’, depending on the parity of I_j

输入输出样例
输入 #1 复制
2
1024
5931
输出 #1 复制
even
odd
说明/提示
Two integers: 1024 and 5931

1024 is eminently divisible by 2; 5931 is not

这题虽然题目很长,但是其真正含义十分好懂,代码和思路也自然就很好想了,无非就是先在第一行输入所需判断的数的个数n,然后再对以下n个数进行注意判断是奇数还是偶数就行了。判断的方法也很简单,将每个数%2,看所得余数即可。下面直接附上本人代码:
#include
using namespace std;

int main()
{
int n,w;
char y[65];//由于这个数过大,我们需要用字符串来存储,否则会爆掉
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>y;//输入这个数组从而达到读取这个数的目的
w=strlen(y);//统计数字长度
if((y[w-1]-‘0’)%2==0) //逐一判断,输出答案
cout<<“even”< else
cout<<“odd”< }
return 0;
}

完工!

你可能感兴趣的:(信息学竞赛,洛谷题组,数学)