UVa 11121 Base -2 / 进制转换

原创 2013年12月05日 20:27:35

-2 进制 % -2 结果是 -1 0 1

感觉这个会了任意负进制都会了

http://www.cnblogs.com/scau20110726/archive/2012/12/21/2828420.html 解释的蛮好的

#include <stdio.h>
int n;
int main()
{
	int cas = 1,n,k,t,i;
	int a[100];
	scanf("%d",&t);
	while(t--)
	{
		scanf("%d",&n);
		k = 0;
		while(1)
		{
			a[k++] = n % (-2);
			n /= (-2);
			if(a[k-1] == -1)
			{
				a[k-1] = 1;
				n++;
			}
			if(n == 0)
				break;
		}
		printf("Case #%d: ",cas++);
		for(i = k - 1;i >= 0; i--)
			printf("%d",a[i]);
		puts("");
	}
	return 0;
}


 

版权声明:本文为博主原创文章,未经博主允许不得转载。

uva 11121 - Base -2(负进制转换)

题目连接:uva 11121 - Base -2 题目大意:给出一个十进制的数,将这个数转换成-2进制的数。 解题思路:进制转化是一种很简单的题型,可是对于负数的进制来说我就很陌生了,研究了蛮...

UVA - 11121 - Base -2 (负进制转换!)

UVA - 11121 Base -2 Time Limit: 3000MS Memory Limit: Unknown 64bit IO Format: %lld & %llu S...

UVa 11121 - Base -2 负进制的转化和推广

http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2062 ...

UVa 11121 Base -2 (数论 & -2进制 & 补足思想)

11121 - Base -2 Time limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_onlinejud...

uvaoj 11121 Base -2 整数转成负数进制

uvaoj 11121 Base -2 整数转成负数进制 给定一个十进制的数,将其转成-2进制的数。也就是n=b0+b1*(-2)+b2*(-2)^2+b3*(-2)^3...。其中bi为0或1...
  • gwq5210
  • gwq5210
  • 2015年01月09日 10:52
  • 342

2进制与base64编码转换C代码

  • 2012年06月15日 16:09
  • 1.82MB
  • 下载

高精度进制转换 poj 1220 NUMBER BASE CONVERSION

下面是输入一个r1进制的n,将其转化为r2进制的算法: 令              n = n0 = n1*r2 + q0             n1 = n2*r2 + q1          ...

base 转换进制

  • 2013年05月31日 01:50
  • 1KB
  • 下载

uva12111(数论-2进制)

题目的意思就是给出一个数字把它转化成-2进制. n = b0 + b1(-2) + b2(-2)2 + b3(-2)3 + ... 首先我们可以最直接先把它转化过来. 就是求余-...

POJ 1220 NUMBER BASE CONVERSION 高精度进制转换

poj  50题拍照合影留念 NUMBER BASE CONVERSION Time Limit: 1000MS   Memory Limit: 10000K Total Submis...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:UVa 11121 Base -2 / 进制转换
举报原因:
原因补充:

(最多只允许输入30个字)