乘法表--蓝桥杯省赛

题目

乘法表--蓝桥杯省赛_第1张图片
乘法表--蓝桥杯省赛_第2张图片

题目分析

其实主要会进制转换就行,然后注意这个数据最大是36,就是后面进制位数的表示用上了26个字母所有

代码

#include 
using namespace std;
int main()
{
  int temp,num;
  cin >> temp;
  for(int i = 1 ; i < temp ; i++)
  {
    for(int j = 1 ; j <= i ; j++)
    {
        num = i*j;
        int num_s = num / temp;
        int num_g = num % temp;

        if( i >= 10 )
          cout << char( 65 + i - 10 );
        else
          cout<<i;
        cout<<"*";

        if( j >= 10 )
          cout << char( 65 + j - 10 );
        else
          cout<<j;
        cout<<"=";

        if(num_s != 0)
          if( num_s - 10 >= 0)
            cout<< char( 65 + num_s - 10);
          else
            cout<< num_s;
        
        if( num_g - 10 >= 0)
          cout<< char( 65 + num_g - 10);
        else
          cout<< num_g;  

          cout<<" ";
    }
    cout << endl;
  }
  return 0;
}

题目总结

重点在进制转换,这一点让我感觉可能表示进制最高只能36进制,要么需要别的符号表示了

你可能感兴趣的:(#蓝桥杯百校真题赛,蓝桥杯,职场和发展,算法)