lightoj 1045 有关进制的二三事

做完这道小题,对进制的理解加深了一点。

进制就是把一堆1用log级别表示出来的方法。log的底数就是进制。不同进制(除了1进制之外)在表示的难度方面没有质的变化。所谓10进制并没有什么优势。

2进制一样可以log级别表示数。

总共有几位就是log(n)

进制转换

看这篇文章就好了

http://www.cnblogs.com/phinecos/archive/2009/09/11/1564975.html


#include<stdio.h>
#include<cmath>

double l[1000003];
int main()
{
	int cas;
	scanf("%d",&cas);
	l[0]=0;
	for(int i=1;i<1000001;i++)
		l[i]=l[i-1]+log(i);
	for(int T=1;T<=cas;T++)
	{
		int n,base;
		scanf("%d%d",&n,&base);
		double logb=log(base);
		printf("Case %d: %d\n",T,((int)(l[n]/logb))+1);
	}	
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章