N进制减法


【编程题目 | 200分】N进制减法 [ 2022 5月 考试题 2023 Q2考试题 B卷]


时间限制:C/C++ 1000ms | 其他语言:2000ms

空间限制:C/C++ 262144K | 其他语言:524288K

64bit IO Format:%lld


本题可使用本地IDE编码,不能使用本地已有代码。无跳出限制,

编码后请点击”保存并提交“按钮进行代码提交。


题目描述

主管期望你实现一个基于字符串的N机制的减法。

需要对输入的两个字符串按照给定的N进制进行减法操作,输出正负符号和表示结果的字符串。

输入描述:

输入:

三个参数。

第一个参数是整数形式的进制N值,N值范围为大于等于2、小于等于35。

第二个参数为被减数字符串;

第三个参数为减数字符串。有效的字符包括0-9以及小写字母a-z,字符串有效字符个数最大为100个字符,另外还有结尾的\0。

限制:

输入的被减数和减数,除了单独的0以外,不能是以0开头的字符串。

如果输入有异常或计算过程中有异常,此时应当输出-1表示错误。

输出描述:

输出:

2个。

其一为减法计算的结果,-1表示出错,0表示结果为整数,1表示结果为负数。

其二为表示结果的字符串。


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看

代码实现


C++


#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

#define IOS cin.sync_with_stdio(false);cin.tie(0);cout.tie(0);
#define pb push_back
#define mp make_pair
#define all(x) (x).begin(),(x).end()

剩余50%内容,购买单篇文章或订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看

JAVA


import java.util.Scanner;


public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String[] input = sc.nextLine().split(" ");
        int jin = Integer.parseInt(input[0]);
        String numStr = input[1];
        String jianStr = input[2];

剩余50%内容,购买单篇文章或订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看

Python


mapping = list(map(str, range(10))) + [chr(i) for i in range(ord('A'), ord('Z')+1)]

剩余50%内容,购买单篇文章或订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看