Exemplo n.º 1
0
//Multiply two strings representing decimal values
std::string decimalMul(std::string a, std::string b) {
    std::string o = "0";
    for (unsigned i = 0; i < b.length(); i++) {
        std::string n = decimalDigitMul(a, b[i] - '0');
        if (n != "0") {
            for (unsigned j = i + 1; j < b.length(); j++) n += "0";
        }
        o = decimalAdd(o, n);
    }
    return o;
}
Exemplo n.º 2
0
//Helper function for decimalMul
std::string decimalDigitMul(std::string a, int dig) {
    if (dig == 0) return "0";
    else return decimalAdd(a, decimalDigitMul(a, dig - 1));
}
Exemplo n.º 3
0
//Helper function for decimalMul
static std::string decimalDigitMul(const std::string &a, int dig) {
    if (dig == 0) return "0";
    else return decimalAdd(a, decimalDigitMul(a, dig - 1));
}