in reply to Re: Reversed long division
in thread Reversed long division

This node falls below the community's minimum standard of quality and will not be displayed.

Replies are listed 'Best First'.
Re^3: Reversed long division
by ikegami (Patriarch) on Jun 29, 2005 at 17:45 UTC

    wth? It is the inverse of longdiv. Well, aside from the fact that longdiv gives the wrong answer. 15000000 is not equal to 2000000 + 206/222.

    #!/usr/bin/perl -w use strict; sub longdiv { # take the parameter passed into the sub and store in $in my $in = shift; ... # return the result return ($out, $carry); } sub longmul { my ($div, $mod) = @_; my $out = sprintf('%06d', substr($div, -3, 3, '') * 222 + $mod); while (length($div)) { substr($out, 0, 3, sprintf('%04d', substr($out, 0, 3) + substr($div, -1, 1, '') * 222 )); } $out =~ s/^0+//; return $out; } # call the function and print the output my ($out, $carry) = longdiv("15000000"); print("$out, $carry\n"); # WRONG. Should be 67567 and 126. print(longmul($out, $carry), "\n"); print(longmul('67567', 126), "\n");
    A reply falls below the community's threshold of quality. You may see it by logging in.