zoukankan      html  css  js  c++  java
  • 9.3练习题2 奇数还是偶数 题解

    题目出处:洛谷P2955 ,略有改编。

    题目描述

    给你 (N(1 le N le 1000)) 个数,你需要判断每个数是奇数还是偶数。

    输入格式

    输入的第一行包含一个整数 (N(1 le N le 1000))
    接下来 (N) 行每行包含一个整数 (a(1 le a le 10^{1000}))

    输出格式

    对于每一个输入的 (a) ,你需要判断它是奇数还是偶数。如果 (a) 是奇数,输出 "odd" ;否则,输出 "even" 。

    样例输入

    2
    1024
    5931
    

    样例输出

    even
    odd
    

    问题分析

    这道题目很简单,就是判断奇数或者偶数。
    但是有一个问题是:每个数的范围比较大,达到了 (10^{1000}) 数量级。
    所以用 int 或者 long long 都是无法存储的。
    所以我们可以想到用字符串来表示每一个数,然后获取字符串的最后一个字符。
    根据字符串的最后一个字符是奇数还是偶数来判断奇偶性。
    实现代码如下:

    #include <bits/stdc++.h>
    using namespace std;
    int N, a;
    char ch[1010];
    int main() {
        cin >> N;
        while (N --) {
            cin >> ch;
            a = ch[ strlen(ch) - 1 ] - '0';
            puts(a % 2 ? "odd" : "even");
        }
        return 0;
    }
    
  • 相关阅读:
    synchronized关键字的用法
    for循环删除集合陷阱
    Java之可变参数
    下拉菜单中的Option对象
    JavaScript数组
    线程
    尝试用代码写博客
    环境配置大全
    3中边缘检测算子
    caffe新手入门
  • 原文地址:https://www.cnblogs.com/zifeiynoip/p/11570715.html
Copyright © 2011-2022 走看看