题目大意:
输入一个数,输出它的负二进制
比如 -13 的负二进制数是 110111 从右到左 1*1+1*(-2)+1*4+0*(-8)+1*16+1*(-32)=-13解题思路:
暴力模拟
源程序:
#include#include using namespace std;int n,i,k,a[41];int main(){ //freopen("negii.in","r",stdin); //freopen("negii.out","w",stdout); scanf("%d",&n); do { k++; a[k]=abs(n%2); n=-(int)(((double)(n-a[k]))/2.0); } while (n!=0); for (int i=k;i>=1;i--) printf("%d",a[i]);}