您的位置:首页 > 其它

PAT-L1-022.奇偶分家

2018-01-19 11:42 239 查看

1.题目



2.解题思路

题中需要统计奇数和偶数的个数,从数学我们可以得知,判定一个数的奇偶只需要判断它的最后一位。又知,在ASCII码表中字符0对应的数值为0011 0000。那么0到9这九个数字正好是从0开始,所以在二进制中,只需要看最后一位即可。

3.代码

#include <iostream>
#include <string>
using namespace std;

int main(int argc, char** argv) {
int n=0;
cin>>n;
int odd=0;
int even=0;
while(n--){
string number="";
cin>>number;
char c_n=number[number.length()-1];
unsigned int n=(unsigned int)c_n;
if(n&1==1)
{
odd++;
}else{
even++;
}
}
cout<<odd<<" "<<even;
return 0;
}


4.杞人忧天

题目中所给的情况非常简单,而我的代码却过分忧虑地使用了更加普适的解题方式。这样做是否正确呢?如果单单从解题上来说,是有些画蛇添足的意味了。但是从实际的工程上来说,对未来的不确定的忧虑往往是对的。而且如果这是一场机试,老师查看代码的话,一定会为给自己留足余地的同学点赞的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: