求助一本通1412:二进制分类
  • 板块灌水区
  • 楼主Lucky_cat
  • 当前回复2
  • 已保存回复2
  • 发布时间2022/5/23 21:00
  • 上次更新2023/10/28 00:45:19
查看原帖
求助一本通1412:二进制分类
725233
Lucky_cat楼主2022/5/23 21:00

rt,今天整理文件的时候发现的早期代码,有两个(一个是我自己写的一个是标答),当时是没想明白就直接照着题解改了,想问一下为什么我会错

我自己的代码

#include<iostream>
using namespace std;
bool s(int c)
{
    int a=0,b=0;
    while(c>0)
    {
        if(c%2==1)
        {
            	a++;
		}
        else
        {
            	b++;
		}
        c/=2;
    }
    return a>b;
}
int main()
{
    int a=0,b=0;
    int i;
    for(i=0;i<1000;i++)
    {
    	if(s(i))
            {
            	a++;
			}
        else
         {
           	b++;
		} 
	}
	cout<<a<<" "<<b<<endl;
    return 0;
}

标答

#include<iostream>
using namespace std;
bool judge(int x);
int main()
{
    int a=0,b=0;
    int i;
 
    for(i=1; i<=1000; i++) 
        if(judge(i))
            a++;
        else
            b++;
    cout<<a<<" "<<b<<endl;
    return 0;
}
 
bool judge(int x)
{
    int a=0,b=0;
    while(x>0)
    {
        if(x%2)
            a++;
        else
            b++;
        x/=2;
    }
 
    return a>b;//
}


2022/5/23 21:00
加载中...