How can I display prime numbers with their number of order?
2 views (last 30 days)
Show older comments
Tayfun Aydogmus
on 7 May 2021
Commented: Tayfun Aydogmus
on 10 May 2021
Hello everyone,
I'm quite new to Matlab and was working on a code to display prime numbers between 2 and an user defined input. Now I wanna make "a little" change by showing the user not only all the prime numbers between 2 and the users input but also the number of order for each prime number like this for example.
User Input = 10
Output:
- 2
- 3
- 5
- 7
My question would be how can I do this with my current code
limit = input('Prime numbers up to : ');
if limit == 1
disp('Please enter a number greater than 2!')
end
for n = 2:limit
identDivisor = logical(false);
k = 2;
while k < floor(sqrt(n))+1 && identDivisor == false
if mod(n,k) == 0
identDivisor = true;
end
k = k + 1;
end
if identDivisor == false
disp(n)
end
end
return
0 Comments
Accepted Answer
David Fletcher
on 7 May 2021
A simple solution would be to just add a counter variable:
limit = input('Prime numbers up to : ');
if limit == 1
disp('Please enter a number greater than 2!')
end
order=1;
for n = 2:limit
identDivisor = logical(false);
k = 2;
while k < floor(sqrt(n))+1 && identDivisor == false
if mod(n,k) == 0
identDivisor = true;
end
k = k + 1;
end
if identDivisor == false
fprintf('%d. %d\n',order,n)
order=order+1;
end
end
return
More Answers (0)
See Also
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!