#include<stdio.h>
#define maxsize 100
typedef struct
{
int data[maxsize];
int top;
}sqstack;
void initstack(sqstack &s) //初始化
{
s.top = -1;
}
bool push(sqstack& s,int x) //压入栈,bool而不是void,增加健壮性
{
if (s.top== maxsize - 1)
return false;
s.top += 1;
s.data[s.top] = x;
return true;
}
bool pop(sqstack& s,int &e) //推出
{
if (s.top == -1)
return false;
e = s.data[s.top];
s.top -= 1;
return true;
}
bool stackempty(sqstack s) //判空
{
if (s.top == -1)
return true;
else
return false;
}
void conversion(sqstack& s, int n) //十进制转换二进制
{
int e;
initstack(s);
while (n)
{
push(s, n % 2);
n /= 2;
}
while (!stackempty(s))
{
pop(s, e);
printf("%d", e);
}
}
int main()
{
int n;
scanf_s("%d", &n);
sqstack s;
conversion(s, n);
return 0;
}