各进制转换_200612119150.txt

来自「里面包括了一些acm比赛是常用的函数」· 文本 代码 · 共 33 行

TXT
33
字号
/*
an为输入的a[N]的位数
m进制转化为n进制,a[N]为输入的m进制,转化后放在a[N]中
转化后的n进制的位数放在an中
*/
void jinzhi(int m,int n,int & an,int a[N])
{
	int i,j,b[N],bn=0,yu;
	j=0;
	while(1)
	{
		if(j>=an)break;
		yu=0;
		for(i=j;i<an;i++)
		{
			if(yu*m+a[i]<n)
			{
				yu=yu*m+a[i];
				a[i]=0;
				continue;
			}
			int t=yu;
			yu=(a[i]+yu*m)%n;
			a[i]=(a[i]+t*m)/n;
		}
		b[bn++]=yu;
		while(j<an&&a[j]==0)j++;

	}
	while(bn>1&&b[bn-1]==0)bn--;
	for(i=bn-1,j=0;i>=0;i--,j++)a[j]=b[i];
	an=bn;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?