Calculating prime numbers using mod

조회 수: 1 (최근 30일)
Jose Trevino
Jose Trevino 2016년 2월 15일
댓글: Jose Trevino 2016년 2월 15일
Hi, I have a code that its supposed to calculate all prime numbers from an input of n numbers. However, in the first loop, the code uses "mod" to check if the number is divisible by any number from 2 to sqrt of n and after dividing by 2 it does not proceed to 3 and discard multiples of 3, 5 and so for. How can I fix this issue?
n = 20;
L = 2:n;
index = 2;
for k = 2:floor(sqrt(n))
while index < n
if (mod(L(index),k) == 0)
L(index) = 0;
end
index = index + 1;
end
end
L';
Prime=L(L~=0);
Prime'

답변 (1개)

Walter Roberson
Walter Roberson 2016년 2월 15일
You need to reset index at the beginning of the for loop.
  댓글 수: 1
Jose Trevino
Jose Trevino 2016년 2월 15일
how do I do that? That's what I was trying with no luck

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Matrix Indexing에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by