XDU1007 - 做一名正气的西电人

来源:互联网 发布:最近很火的网络用语 编辑:程序博客网 时间:2024/04/28 23:19

直接将数字转化成二进制进行判断,注意到范围0<=a,b<10^100,采用高精度除法

余数是0还是1只要看最后一位是奇数还是偶数

 

#include<stdio.h>#include<string.h>int solve(char *str){    int num[1000],len=strlen(str),i,ans=0;    for(i=1;i<=len;i++)        num[i]=str[len-i]-'0';    while(len>0)    {        for(i=len;i>1;i--)        {            num[i-1]+=(num[i]%2)*10;            num[i]/=2;        }        ans+=num[1]%2;        num[1]/=2;        while(num[len]==0)            len--;    }    return ans;}int main(){    char a[1000],b[1000];    while(scanf("%s%s",a,b)!=EOF)    {        int x=solve(a),y=solve(b);        //printf("%d %d\n",x,y);        if(x>y)            printf("wm\n");        else if(x<y)            printf("zyf\n");        else            printf("neither\n");    }    return 0;}

原创粉丝点击