西電Online Judge 1007

來源:互聯網
上載者:User

標籤:des   style   blog   color   資料   os   

Description

  一天,wm和zyf想比比誰比較正氣,但正氣這種東西無法量化難以比較,為此,他們想出了一個方法,兩人各寫一個數字,然後轉化為二進位,誰的數字中二進位1多誰就比較正氣!

Input  輸入包含多組資料,EOF結束。 
  每組資料包含兩行,代表兩個非負整數a,b(0<=a,b<10^100,不含前置0),a為wm寫的數字,b為zyf寫的數字。Output  每組資料輸出一行,輸出正氣的西電人名字"wm"或"zyf",如果兩人的數字中二進位1一樣多就輸出"neither"。 
#include <iostream>#include <string.h>using namespace std;int Ones(char *str);int main(){    char wm[101];    char zyf[101];    int len1, len2;    string result;    while(cin >> wm >> zyf){        len1 = Ones(wm);        len2 = Ones(zyf);        result = len1 > len2? "wm": len1 == len2? "neither" : "zyf";        cout << result <<endl;    }}int Ones(char *str){    int sum = 0, pos = 0;    int length = strlen(str);    for(int i = 0; i < length; i++)        str[i] -= ‘0‘;    while(pos != length){        for(int i = pos; i < length -1; i++)        {            str[i + 1] += str[i] % 2 *10;            str[i] /= 2;        }        sum += str[length - 1] % 2;        str[length - 1] /= 2;        while(str[pos] == 0 && pos < length)            pos++;    }    return sum;}

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.