# Finding all numbers which is divisible by 5

166 views (last 30 days)
Hello,
I would like to write a program which identifies all number which divisible by 5 by using while loop and mod.
Here is what I have so far.
a=input('Enter the threshold: ');
disp('Following number is devided by 5' + a);
number = 1;
while number<=a
if mod(a,5)==0
disp(a);
end
number=number+1
end
disp("The following numbers are divisible by 5: " + mod)
and the outcome display should look like this...
Enter the threshold: 100(For example)
The following numbers are divisible by 5: 5, 10, 15, 20 ...100(For example of threshold 100)
##### 2 CommentsShowHide 1 older comment
Takashi Fukushima on 6 Nov 2019
Yes I have to use while loop since it's homework.
I was wondering using number instead of a. Thanks for your info!

Jeremy on 6 Nov 2019
Edited: Jeremy on 6 Nov 2019
Hi,
In your mod command you want to compare the number variable to 5, not a (a doesn't change). This is why you're getting unexpected results. I would use zeroes to initialize z so that you can save each number that is divisible by 5 like:
a=input('Enter the threshold: ');
number = 1; z = zeros(1,a);
while number <= a
if mod(number,5) == 0
z(number) = number;
end
number=number+1;
end
And then use
find
to extract the indices of z that are nonzero and print them out.
I hope this helped

Turlough Hughes on 6 Nov 2019
a=input('Enter the threshold: ');
disp("Following number is devided by 5: " + a);
number = 1;
count=1;
output=[];
while number<=a
if mod(number,5)==0
disp(number);
output(count)=number;
count=count+1;
end
number=number+1;
end
disp(['The following numbers are divisible by 5: ' num2str(output)])
Though you could do it also without a loop:
a=input('Enter the threshold: ');
disp("Following number is devided by 5: " + a);
range=1:a;
output=range(mod(range,5)==0)
disp(['The following numbers are divisible by 5: ' num2str(output)])