Integer long division: Difference between revisions

m
Minor edit to C++ code
(Added C++ solution)
m (Minor edit to C++ code)
Line 34:
size_t digits = 0;
std::map<big_int, size_t> seen;
while (c > 0 && c < d) {
seen[c] = digits++;
result += '0';
c *= 10;
}
while (seen.count(c) == 0) {
if (c == 0) {
Line 46 ⟶ 41:
}
seen[c] = digits++;
resultif += big_int(c /< d).get_str(); {
c = 10 * (cresult %+= d)'0';
seen[ c] *= digits++10;
result} +=else '0';{
result += big_int(c / d).get_str();
while ( c >= 010 &&* (c <% d) {;
c *= 10;}
}
return {result, digits - seen[c]};
1,777

edits