进制乘法表(蓝桥杯C/C++)

题目:

  自己实现进制转换略显复杂,尝试用itoa()函数直接转换,发现评测系统中没有这个函数,一直报错,所以只能自己实现

这里要做的就是把十进制转换成P进制(不断取模作除法)

#include<bits/stdc++.h>
using namespace std;
long ten;	
int a[50];
int P,temp,q,k;
void zhuanhuan(int target)
{
	k=0; //k的重置 
	while(target!=0)
	{
		temp=target%P;//取模 
		target=target/P;//除法取整 
		k++;
		a[k]=temp;//存入数组,从a[1]开始存 
	}
	
	for(q=k;q>=1;q--)//倒序输出 
	{
		if(a[q]>=10)	
			cout<<(char)(a[q]+55);	
		else
			cout<<a[q]; 
	}
}
 int main()
 {
      cin>>P;
      for(int i=1;i<P;i++)
      {
        for(int j=1;j<=i;j++)
        {
          zhuanhuan(i);
          cout<<'*';
          zhuanhuan(j);
          cout<<'=';
          ten=i*j;
          zhuanhuan(ten);
          cout<<' ';
        }
        cout<<endl;
      }
      return 0;
 }

关于十进制转换成任意进制的问题,请移步:

https://blog.csdn.net/m0_71934846/article/details/128297645 

猜你喜欢

转载自blog.csdn.net/m0_71934846/article/details/128518422