166 views (last 30 days)

Show older comments

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)

I really appreciate your response in advance!

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

This is your answer assuming the while loop is a must:

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)])

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!