比赛 20140713下午练习 评测结果 AAAAAAAAAA
题目名称 比特 最终得分 100
用户昵称 St.Burning\ 运行时间 0.228 s
代码语言 C++ 内存使用 0.31 MiB
提交时间 2014-07-13 16:15:30
显示代码纯文本
#include<iostream>
#include<cstring>
#include<cstdio>

#define MAXN 30
#define cycle(i,a,b) for(int i=a;i<=b;i++)
using namespace std;

int a[MAXN];
int N,Ans=0;

void Change_Binary(int);
void Count();

int main()
{
	freopen("bita.in","r",stdin);
	freopen("bita.out","w",stdout);
	cin>>N;
	cycle(i,1,N)
	{
		memset(a,0,sizeof(a));
		Change_Binary(i);
		if(a[0]>1) Count();	
	}
	
	cout<<Ans;
	return 0;
}

void Change_Binary(int N)
{
	while(N/2!=0)
	{
		a[++a[0]]=N%2;
		N/=2;
	}
	if(N==1) a[++a[0]]=1;
}

void Count()
{
	cycle(i,1,a[0]-1)
	{
		if(a[i]==1&&a[i]==a[i+1]) Ans++;
	}
}