网站建设哪家比较好,wordpress建站教程第六节,天门市住房和城乡建设局网站,如何禁止ip访问网站[蓝桥杯 2020 省 AB3] 乘法表
题目描述
九九乘法表是学习乘法时必须要掌握的。在不同进制数下#xff0c;需要不同的乘法表。
例如, 四进制下的乘法表如下所示#xff1a;
1*11
2*12 2*210
3*13 3*212 3*321请注意#xff0c;乘法表中两个数相乘的顺序必须为样例中所示的…[蓝桥杯 2020 省 AB3] 乘法表
题目描述
九九乘法表是学习乘法时必须要掌握的。在不同进制数下需要不同的乘法表。
例如, 四进制下的乘法表如下所示
1*11
2*12 2*210
3*13 3*212 3*321请注意乘法表中两个数相乘的顺序必须为样例中所示的顺序不能随意交换两个乘数。
给定 P P P请输出 P P P 进制下的乘法表。
输入格式
输入一个整数 P P P。
输出格式
输出 P P P 进制下的乘法表。 P P P 进制中大于等于 10 10 10 的数字用大写字母 A、B、C、 ⋯ \cdots ⋯ 表示。
样例 #1
样例输入 #1
4样例输出 #1
1*11
2*12 2*210
3*13 3*212 3*321样例 #2
样例输入 #2
8样例输出 #2
1*11
2*12 2*24
3*13 3*26 3*311
4*14 4*210 4*314 4*420
5*15 5*212 5*317 5*424 5*531
6*16 6*214 6*322 6*430 6*536 6*644
7*17 7*216 7*325 7*434 7*543 7*652 7*761提示
对于所有评测数据, 2 ≤ P ≤ 36 2 \leq P \leq 36 2≤P≤36。
蓝桥杯 2020 第三轮省赛 AB 组 G 题。 思路
在main函数中首先从输入中读取进制数 p p p。然后使用两个嵌套的循环生成乘法表。外层循环i从 1 1 1到 p − 1 p-1 p−1内层循环j从 1 1 1到 i i i。对于每一对 ( i , j ) (i, j) (i,j)输出 i i i、 j j j以及它们的乘积的 p p p进制形式。每一行的乘法表达式之间用空格分隔每一行的最后输出一个换行符。
函数getCode负责将十进制的数转换为 p p p进制的数。在这个函数中通过不断地除以 p p p并将余数添加到字符串的末尾实现了进制转换。如果余数大于 9 9 9则转换为相应的大写字母否则转换为相应的数字。最后使用reverse函数将字符串反转得到正确的 p p p进制数。
注意
不只是结果需要进行进制转换i和j也需要进行进制转换否则只能通过部分测试点。 AC代码
#include algorithm
#include iostream
#define mp make_pair
#define AUTHOR HEX9CF
using namespace std;
using ll long long;const int N 1e6 7;
const int INF 0x3f3f3f3f;
const ll MOD 1e9 7;int p;string getCode(int x) {string s ;for (; x 0; x / p) {int t x % p;s (t 9) ? (A t - 10) : (0 t);}reverse(s.begin(), s.end());return s;
}int main() {ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin p;for (int i 1; i p; i) {for (int j 1; j i; j) {cout getCode(i) * getCode(j) getCode(i * j) ;}cout \n;}return 0;
}