乘法表

乘法表

https://www.luogu.com.cn/problem/P8723)

小题一道但是得注意几点

1.给定的数据范围不存在第三位数

2.不只是结果大于十的得转化字母,计算乘法中的也要转化(如1010=91 应该写成AA=91);

注意输出的时候是char 不是int等

方法代码如下

char rep[37]={'0','1','2','3','4','5','6','7','8','9',
              'A','B','C','D','E','F','G',
              'H','I','J','K','L','M','N',
              'O','P','Q','R','S','T','U',
              'V','W','X','Y','Z'};
int main() {
    ios::sync_with_stdio(0);
    cin.tie(0), cout.tie(0);
    int n; cin >> n;
    for (int i = 1; i <= n-1; i++) {
        for (int j = 1; j <= i; j++) {
            int s = i*j;
            if(s < n){
                if(j == i)printf("%c*%c=%c\n",rep[i],rep[j],rep[s]);
                else printf("%c*%c=%c ",rep[i],rep[j],rep[s]);
            }
            else{
                int ans = s%n;
                int ss = (s - ans)/n;
                if(j == i)printf("%c*%c=%c%c\n",rep[i],rep[j],rep[ss],rep[ans]);
                else printf("%c*%c=%c%c ",rep[i],rep[j],rep[ss],rep[ans]);
            }
        }
    }
    return 0;
}
posted @ 2023-01-10 19:01  TFOREVERY  阅读(118)  评论(0编辑  收藏  举报