Difference between revisions of "TADM2E 1.28"
From Algorithm Wiki
(Recovering wiki) |
|||
| Line 11: | Line 11: | ||
return quotient; | return quotient; | ||
} | } | ||
| + | </pre> | ||
| + | |||
| + | ---- | ||
| + | -- [[User:Vale.rho|Vale.rho]] 00:02, 25 Feb 2015 | ||
| + | |||
| + | Initially I also thought the previous solution, but the final sentence of the text made me suspicious ("Find a fast way to do it."), so this is my solution: | ||
| + | |||
| + | <pre> | ||
| + | def divide(num, den): | ||
| + | quotient = 0 | ||
| + | quot_accumulator = 1 | ||
| + | den_accumulator = den | ||
| + | |||
| + | while num >= den: | ||
| + | if num < den_accumulator: | ||
| + | den_accumulator = den | ||
| + | quot_accumulator = 1 | ||
| + | |||
| + | num = num - den_accumulator | ||
| + | quotient = quotient + quot_accumulator | ||
| + | quot_accumulator = quot_accumulator + quot_accumulator | ||
| + | den_accumulator = den_accumulator + den_accumulator | ||
| + | |||
| + | return quotient | ||
</pre> | </pre> | ||
Revision as of 23:11, 24 February 2015
// Note: This only works for positive values!
int divide(int numerator, int denominator) {
int quotient = 0;
while(numerator >= denominator) {
numerator -= denominator;
quotient++;
}
return quotient;
}
-- Vale.rho 00:02, 25 Feb 2015
Initially I also thought the previous solution, but the final sentence of the text made me suspicious ("Find a fast way to do it."), so this is my solution:
def divide(num, den): quotient = 0 quot_accumulator = 1 den_accumulator = den while num >= den: if num < den_accumulator: den_accumulator = den quot_accumulator = 1 num = num - den_accumulator quotient = quotient + quot_accumulator quot_accumulator = quot_accumulator + quot_accumulator den_accumulator = den_accumulator + den_accumulator return quotient