Integer long division: Difference between revisions
Content added Content deleted
(Added C++ solution) |
m (Minor edit to C++ code) |
||
Line 34: | Line 34: | ||
size_t digits = 0; |
size_t digits = 0; |
||
std::map<big_int, size_t> seen; |
std::map<big_int, size_t> seen; |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
} |
|||
while (seen.count(c) == 0) { |
while (seen.count(c) == 0) { |
||
if (c == 0) { |
if (c == 0) { |
||
Line 46: | Line 41: | ||
} |
} |
||
seen[c] = digits++; |
seen[c] = digits++; |
||
if (c < d) { |
|||
result += '0'; |
|||
⚫ | |||
⚫ | |||
result += big_int(c / d).get_str(); |
|||
⚫ | |||
⚫ | |||
} |
} |
||
return {result, digits - seen[c]}; |
return {result, digits - seen[c]}; |