专栏首页程序编程之旅HDOJ/HDU 2700 Parity(奇偶判断~)

HDOJ/HDU 2700 Parity(奇偶判断~)

Problem Description A bit string has odd parity if the number of 1’s is odd. A bit string has even parity if the number of 1’s is even.Zero is considered to be an even number, so a bit string with no 1’s has even parity. Note that the number of 0’s does not affect the parity of a bit string.

Input The input consists of one or more strings, each on a line by itself, followed by a line containing only “#” that signals the end of the input. Each string contains 1–31 bits followed by either a lowercase letter ‘e’ or a lowercase letter ‘o’.

Output Each line of output must look just like the corresponding line of input, except that the letter at the end is replaced by the correct bit so that the entire bit string has even parity (if the letter was ‘e’) or odd parity (if the letter was ‘o’).

Sample Input 101e 010010o 1e 000e 110100101o #

Sample Output 1010 0100101 11 0000 1101001010

英文题~看懂题意就ok了。 e代表的是偶数奇偶性校验。 o代表的是奇数奇偶性校验。 0代表是。1代表否~ 其实就是判断1的个数~

import java.util.Scanner;

/**
 * @author 陈浩翔
 */
public class Main{

    public static void main(String[] args) {
        Scanner sc= new Scanner(System.in);
        while(sc.hasNext()){
            String str = sc.next();
            if(str.equals("#")){
                return ;
            }
            int num=0;
            for(int i=0;i<str.length()-1;i++){
                if(str.charAt(i)=='1'){
                    num++;
                }
            }
            if(num%2==0){//1出现的次数为偶数
                if(str.charAt(str.length()-1)=='e'){//偶数奇偶校验
                    //0代表判断正确
                    System.out.println(str.substring(0, str.length()-1)+'0');
                }else{
                    System.out.println(str.substring(0, str.length()-1)+'1');
                }
            }else{
                if(str.charAt(str.length()-1)=='o'){//奇数奇偶校验
                    //0代表判断正确
                    System.out.println(str.substring(0, str.length()-1)+'0');
                }else{
                    System.out.println(str.substring(0, str.length()-1)+'1');
                }
            }
        }
    }
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python3-奇偶数判断

    py3study
  • 位运算判断奇偶数

    以前写判断奇偶数的函数都是用retrun(0 == n%2 ? TRUE : FALSE)这句话写。后来我想,一个整数的二进制码最后一位,奇数是1,偶数是0。我...

    phith0n
  • 位运算的方法,小结

    文章来源未知----再次声明为转载... 本文是针对使用位运算来实现一些方法,我们都知道位运算的代价比其他符号运算都低,所以当一个方法只使用位运算且运算次数与其...

    Gxjun
  • HDOJ(HDU) 1976 Software Version(简单判断)

    Problem Description 相信大家一定有过在网上下载软件而碰到多个不同版本的情况。

    谙忆
  • 按奇偶排序数组II

    给定一个非负整数数组A,A中一半整数是奇数,一半整数是偶数。 对数组进行排序,以便当A[i]为奇数时,i也是奇数;当A[i]为偶数时,i也是偶数。 你可以返...

    WindrunnerMax
  • 数组排序问题-LeetCode 905、922、1122、451(哈希表,双指针)

    给定一个非负整数数组 A,返回一个数组,在该数组中, A 的所有偶数元素之后跟着所有奇数元素。 你可以返回满足此条件的任何数组作为答案。

    算法工程师之路
  • 欧拉回路与欧拉路径

    欧拉回路与欧拉路径 如果图G中的一个路径包括每个边恰好一次,则该路径称为欧拉路径(欧拉通路)。 如果一个回路是欧拉路径,则称为欧拉回路(Euler circui...

    attack
  • OJ刷题-while(scanf("%d",&n)!=EOF)

            “测试输入包含若干测试实例。当N为0时,输入结束,该实例不被处理。”这句话 是最早我对OJ的印象 以前也没见过这种输入要求, 做第一道题的时候就...

    Flaneur
  • 程序员进阶之算法练习(十三)

    前言 比赛就在这周末,这篇是比赛前最后一篇训练总结。 正文 hdu 5980(简单题) 题目大意 一个32位的数字,每个bytes包括8bit,所以一个整...

    落影
  • 神奇的traitlets(赋予PY类属性修改后,自动更改事件)

    在我们学习py的第一天就是知道它是一个动态的语言,我相信很多人学了很久也不知道动态到底动在哪里,简单的说一下就是创建变量的时候,直接用一个名字和你目标量一连就...

    云深无际
  • 填坑-回溯-预习 之 素数大总结

    B - 素数判定 HDU - 2012 对于表达式n^2+n+41,当n在(x,y)范围内取整数值时(包括x,y)(-39<=x<y<=50),判定该表达式的...

    杨鹏伟
  • 汇编语言从入门到精通-标志位的说明

    16位标志寄存器——共用了9个标志位,它们主要用来反映CPU的状态和运算结果的特征。标志位的分布如下表所示。

    墨文
  • 电脑开机报警声音大全

    用户7657330
  • HDOJ(HDU) 2143 box(简单的多次判断-用的卫条件)

    Problem Description One day, winnie received a box and a letter. In the letter...

    谙忆
  • 【学员笔记分享】汇编之EFLAGS寄存器中标志位

    8086CPU的flag寄存器(16位)各标志位如下(这是32位EFLAG的低十六位图,但是32位与16位是一样的,只不过32位多了16位且高16位没有...

    Ms08067安全实验室
  • 回文自动机入门

    回文自动机(Palindrome auto machine PAM,有些地方称之为回文树)是回文问题的大杀器~ 本文使用一道很简单的题目入门这个精巧的数据结构...

    ACM算法日常
  • 计算机组成原理 --- 数据信息的表示

    1) 根据补码的定义求补码。 [x]补码 = 模 + x(mod模) ,x可正可负,利用这种方法需要事先求出 模的值。

    杨鹏伟
  • .NET Core 跨平台 串口通讯 ,Windows/Linux 串口通讯,flyfire.CustomSerialPort 的使用

    串口通讯用于设备之间,传递数据,物联网设备中广泛使用串口方式连接通讯,物联网通讯协议 :Modbus 协议 ASCII、RTU、TCP模式是应用层的协议,与通讯...

    痴者工良
  • C#中的串口通信

    串行接口按电气标准及协议来分,包括RS-232-C、RS-422、RS485、USB等。 RS-232-C、RS-422与RS-485标准只对接口的电气特性做出...

    跟着阿笨一起玩NET

扫码关注云+社区

领取腾讯云代金券