题解 P2955 【[USACO09OCT]奇数偶数Even? Odd? 】

· · 题解

------------ 这道题有很多人得 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指教~**