#include <bits/stdc++.h>
using namespace std;
int dfs(int n)
{
if (n<=5){
if (n<3) return 0;
if (n==3) return 1;
if (n==4) return 0;
if (n==5) return 1;
}
if (n&1){
return dfs(n/2)+dfs(n/2+1);
}
else
{
return 2*dfs(n/2);
}
}
int main()
{
int n;
while(scanf("%d",&n)!=EOF){
int ans=dfs(n);
printf("%d\n",ans);
}
return 0;
}水水~
dfs
893

被折叠的 条评论
为什么被折叠?



