How can I display prime numbers with their number of order?

조회 수: 1 (최근 30일)
Tayfun Aydogmus
Tayfun Aydogmus 2021년 5월 7일
댓글: Tayfun Aydogmus 2021년 5월 10일
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:
  1. 2
  2. 3
  3. 5
  4. 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

채택된 답변

David Fletcher
David Fletcher 2021년 5월 7일
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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by