做完這道小題,對進制的理解加深了一點。
進制就是把一堆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);
}
}