【每日一题 基础题】[蓝桥杯 2020 省 AB3] 乘法表

embedded/2024/12/19 13:36:57/

[蓝桥杯 2020 省 AB3] 乘法表

乘法表

九九乘法表是学习乘法时必须要掌握的。在不同进制数下,需要不同的乘法表。
例如, 四进制下的乘法表如下所示:
1 * 1=1
2 * 1=2 2 * 2=10
3 * 1=3 3 * 2=12 3 * 3=21
请注意,乘法表中两个数相乘的顺序必须为样例中所示的顺序,不能随意交换两个乘数。
给定 P,请输出 P 进制下的乘法表。
输入格式
输入一个整数 P
输出格式
输出 P 进制下的乘法表。P 进制中大于等于 10 的数字用大写字母 A、B、C⋯ 表示。

这题不需要任何高精,只需要进制转换。
这里只需用到 10 进制转 k 进制,而在程序中我们经常用到短除法取余的方法。举个例子,当 k=3 时,10 进制数 413 的转换过程是这样的:
413÷3=137⋯⋯2
137÷3=45⋯⋯2
45÷3=15⋯⋯0
15÷3=5⋯⋯0
5÷3=1⋯⋯2
1÷3=0⋯⋯1
把余数从下往上连起来,得 120022,事实上,这就是 413 的 3 进制数。

Java

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int p = scanner.nextInt();for (int i = 1; i < p; i++) {for (int j = 1; j <= i; j++) {int product = i * j;String iStr = convertToBase(i, p);String jStr = convertToBase(j, p);String productStr = convertToBase(product, p);System.out.print(iStr + "*" + jStr + "=" + productStr + " ");}System.out.println();}}public static String convertToBase(int num, int base) {if (num == 0) return "0";StringBuilder result = new StringBuilder();while (num > 0) {int remainder = num % base;if (remainder < 10) {result.append(remainder);} else {result.append((char)('A'+ (remainder - 10)));}num /= base;}return result.reverse().toString();}
}

C

#include<bits/stdc++.h>
using namespace std;
int n;
string jz(int x,int y)//把x转换为y进制
{string now,ret;while(x>0){int add = x%y;//记录余数if(add>=10)//余数大于10的要变为字母now+=add-10+'A';else now+=add+'0'; x/=y;}int len = now.size();for(int i = 0;i<=len/2;i++)//倒着存ret+=now[len-i-1];return ret;
}
int main()
{cin>>n;for(int i = 1;i<n;i++){for(int j = 1;j<=i;j++)cout<<jz(i,n)<<'*'<<jz(j,n)<<'='<<jz(i*j,n)<<' ';//记得转换进制cout<<'\n';}return 0;
}

http://www.ppmy.cn/embedded/147031.html

相关文章

自动呼入机器人如何与人工客服进行无缝切换?

自动呼入机器人如何与人工客服进行无缝切换&#xff1f; 原作者&#xff1a;开源呼叫中心FreeIPCC&#xff0c;其Github&#xff1a;https://github.com/lihaiya/freeipcc 自动呼入机器人与人工客服的无缝切换详解 自动呼入机器人与人工客服之间的无缝切换是确保客户体验连续…

0 前言

ArCS作为一个基于Rust的CAD&#xff08;计算机辅助设计&#xff09;开源系统&#xff0c;尽管已经有四年未更新&#xff0c;但其设计理念和技术实现仍然具有很高的学习和参考价值。以下是对ArCS项目的进一步分析和解读&#xff1a; 一、项目亮点与技术优势 高效与安全的Rust语…

Dcoker安装nginx,完成反向代理和负载均衡

1. 简介 官网&#xff1a;nginx Nginx是一个高性能的 HTTP 和反向代理 Web 服务器。它的主要功能包括反向代理、负载均衡和动静分离等。正因为 Nginx的这些功能能够为系统带来性能和安全方面的诸多优势&#xff0c;我们在项目部署时需要引入 Nginx组件。接下来我们会逐一向大…

matlab绘图时设置左、右坐标轴为不同颜色

目录 一、需求描述 二、实现方法 一、需求描述 当图中存在两条曲线&#xff0c;需要对两条曲线进行分别描述时&#xff0c;应设置左、右坐标轴为不同颜色&#xff0c;并设置刻度线&#xff0c;且坐标轴颜色需要和曲线颜色相同。 二、实现方法 1.1、可以实现&#xff1a; 1…

如何构建一个简单的SpringBoot程序

文章目录 构建一个简单的SpringBoot项目代码目录1 创建Maven项目2 配置项目的Maven3 配置 pom.xml 导入相关的依赖4 测试运行5 启动MainApp.java 的main函数进行测试 构建一个简单的SpringBoot项目 代码目录 1 创建Maven项目 2 配置项目的Maven 注意 &#xff1a;这里需要自己…

C++while

在C中&#xff0c;while (true)是一种常见的循环结构用法&#xff0c;以下是详细介绍&#xff1a; ### 基本语法形式 cpp while (true) { // 循环体代码语句 // 这里放置需要不断重复执行的操作 } 这里while是循环关键字&#xff0c;括号中的条件判断部分写的是true&#xff0…

cve-2024-53376:CyberPanel RCE 已发布PoC

安全研究员 Thanatos 发现流行的虚拟主机控制面板 CyberPanel 存在一个严重漏洞 (CVE-2024-53376)&#xff0c;攻击者可利用该漏洞完全控制服务器。2.3.8 之前的 CyberPanel 版本易受此安全漏洞影响&#xff0c;通过验证的用户可注入并执行操作系统 (OS) 命令。 该漏洞位于/we…

js 算法

一、排序 插入算法 let arr [7, 4, 1, 2, 6, 8, 3, 5, 9]function insertSort (arr) {for (let i 0; i < arr.length; i) {let temp arr[i];let j i - 1;while(j > 0 && arr[j] > temp) {arr[j 1] arr[j]j--;}arr[j 1] temp;}return arr; }console.l…