How can I display prime numbers with their number of order?
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Tayfun Aydogmus
el 7 de Mayo de 2021
Comentada: Tayfun Aydogmus
el 10 de Mayo de 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 comentarios
Respuesta aceptada
David Fletcher
el 7 de Mayo de 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
Más respuestas (0)
Ver también
Categorías
Más información sobre Loops and Conditional Statements en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!