in reply to Re^2: why is my for loop using modulo giving me a weird output
in thread why is my for loop using modulo giving me a weird output

I tried with five just to check out how modulo worked

https://en.wikipedia.org/wiki/Modulo_operation

I expected the output to look like this:

1 2 3 4

Why? Modulo is the remainder of the division. 0 divided by 5 is 0, remaining 0. 1 divided by 5 is 0, remaining 1. 2 divided by 5 is 0, remaining 2. 3 divided by 5 is 0, remaining 3. 4 divided by 5 is 0, remaining 4. 5 divided by 5 is 1, remaining 0. 6 divided by 5 is 1, remaining 1. And so on.

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)
  • Comment on Re^3: why is my for loop using modulo giving me a weird output

Replies are listed 'Best First'.
Re^4: why is my for loop using modulo giving me a weird output
by perlynewby (Scribe) on Jun 28, 2015 at 08:10 UTC

    totally mistaken on modulo.my bad..

    I get it and thank you!

    I guess , what I wanted to get out of this was the quotient NOT the remainder

    so if I divide the number 20 by 5, I want the quotient 4. ok, let me try this again

    then ,next step, is to write a program to find the smallest number that are evenly divided by all the given max_range numbers. ie: like 0-10.

    use strict; use warnings; use integer; use constant number => 5; my %result; for ( my $i=0; $i<=20 ;$i++){ #my ($quo, $rem)= ($i/5, $i%5); #need to understand modulo #print "this is quotient",$quo,"when this is divident $i \n"; #print "this is remainder",$rem,"\n"; if ($i%5==0 && $i!=0){ print "this is the quotient",$i/5,"\n"; print "this is the divident",$i,"\n"; } }

      I think you might benefit from the use of intin order to chop off the fractional component for $quo.

        I used "use integer;" wouldn't this be correct? or should I add the int while doing the operation $i%5.

        use strict; use warnings; use integer; use constant number => 5;

        if I have to add this here, what situation am I avoiding?

        I don't quite understand this

        to chop off the fractional component for $quo
        print "this is the quotient",int $i/5,"\n";