#include<bits/stdc++.h>

using namespace std;

int main() { string a_str, b_str; cin >> a_str >> b_str;

// 处理符号
int sign_a = 1, sign_b = 1;
if (a_str[0] == '-') {
    sign_a = -1;
    a_str = a_str.substr(1);
} else if (a_str[0] == '+') {
    a_str = a_str.substr(1);
}

if (b_str[0] == '-') {
    sign_b = -1;
    b_str = b_str.substr(1);
} else if (b_str[0] == '+') {
    b_str = b_str.substr(1);
}

// 如果a_str为空,则a=0
if (a_str.empty()) {
    cout << "0" << endl;
    return 0;
}

long long b_val = stoll(b_str); // 将b_str转换为long long
int sign = sign_a * sign_b; // 商的符号

string result; // 存储商的绝对值
long long remainder = 0; // 余数

for (int i = 0; i < a_str.length(); i++) {
    remainder = remainder * 10 + (a_str[i] - '0');
    long long digit = remainder / b_val;
    remainder = remainder % b_val;

    // 如果digit非零或result非空(已有非零数字),则添加到结果
    if (digit != 0 || !result.empty()) {
        result += ('0' + digit);
    }
}

// 如果结果为空,说明商为0
if (result.empty()) {
    result = "0";
}

// 处理符号:商非0且符号为负时添加负号
if (sign == -1 && result != "0") {
    result = '-' + result;
}

cout << result << endl;

return 0;

}

0 条评论

目前还没有评论...