Finding primes
So let’s now see an example where we can put our while
loop to use, type the program below and execute it. Change the value of number
and see. This program finds if a number is prime or not.
number = 71
counter = 2
while number % counter != 0
counter += 1
end
if number != counter
print(number, " is not prime")
else
print(number, " is prime")
end
Output:
71 is prime
Let’s see how it works. If you know math, then you would know that primes are divisible only by 1 and it self. So if any number is prime then it gives a non zero reminder if it divided by any other number other than itself or 1. In the above program that’s what we do. We have a variable counter
and we set it to 2
here counter = 2
, next we have this code block:
while number % counter != 0
counter += 1
end
now look at the condition, if the number is prime and not 2, this condition number % counter != 0
will be true, and if you are wondering !=
stands for, it stands for not equal to in programming. So if the condition is true, the code between while
and end
executes, hence counter now becomes 3 by executing counter += 1
, and once again 71 % 3
is not zero and so again counter
increments and in next iteration it is 71 % 4
and so on. The loop ends when counter
is 71
, where 71 % 71
is 0
and hence number % counter != 0
fails and the program control comes out of the while
.
It (the program execution) now encounters this:
if number != counter
print(number, " is not prime")
else
print(number, " is prime")
end
Here in the above piece of code if the number
is not equal to counter
we print it’s not a prime, but when it is, we print is as prime.
The notebook for this blog can be found here: https://gitlab.com/data-science-with-julia/code/-/blob/master/while.ipynb.