题解 P2955 【[USACO09OCT]奇数偶数Even? Odd? 】
woshishei
·
·
题解
------------
这道题有很多人得 50 分,是因为题目给出的数据很大($1 \le l \le 10^{60}$),用 `long long` 也会爆掉。
我用**字符串**做的。我的思路很简单,就是判断每个字符串的最后一位**数字**的奇偶性就行了。
附上C++代码:
```cpp
#include<iostream>
#include<cstdio>
#include<cstring> //strlen()函数头文件
using namespace std;
int main()
{
int n,i,len; //len为每个字符串的长度
char c[65]; //存储字符串,由于我是逐条输出(输入一个输出一个),所以每次只记一个字符串就行了
cin>>n;
for(i=1;i<=n;i++)
{
cin>>c; //输入字符串
len=strlen(c); //判断字符串长度
if((c[len-1]-'0')%2==0)//判断最后一位数字的奇偶性
cout<<"even\n";
else
cout<<"odd\n";
}
return 0;
}
```
**本人只是蒟蒻一枚,更多方法求dalao指教~**