转负二进制:
代码语言:javascript复制 1 //POJ 3191
2 #include<stdio.h>
3 #include<string.h>
4 #include<algorithm>
5 using namespace std;
6 int ans[1000];
7 int main()
8 {
9 int a;
10 while(~scanf("%d",&a))
11 {
12 if(a==0)
13 {
14 printf("0n");
15 continue;
16 }
17 int cont=0;
18 while(a)
19 {
20 ans[cont ]=abs(a%(-2));
21 a-=abs(a%(-2));
22 a/=(-2);
23 }
24 for(int i=cont-1;i>=0;i--)printf("%d",ans[i]);
25 printf("n");
26 }
27 }