How to create a list of an array index

22 views (last 30 days)
I am doing a project Euler prime number puzzle but I do not wish to use the Matlab primes function , so I'm building my own.
I am going to use the standard sieve to produce my primes but I wish to store these in a logic array. How do I get the index/cell location of all true values into an array/output as these will be my prime numbers.
Thanks
AD

Accepted Answer

Image Analyst
Image Analyst on 7 Nov 2011
Can't you just use a counter that increments when you find a prime number?
if itsAPrimeNumber
numberOfPrimesFound = numberOfPrimesFound + 1;
listOfPrimes(numberOfPrimesFound) = yourCurrentNumber;
end
  2 Comments
Scragmore
Scragmore on 7 Nov 2011
If possible I would like to do it this way, learning to do bitwise calculations, bigger array/smaller memory allocation, how I want to use the function ect.
so if I have an array;
ary = [1 1 0 1 0 1 0 0 0 1 .....]
I would like to return;
return ary(true)
ans = 2 3 5 7 11 .......
Image Analyst
Image Analyst on 7 Nov 2011
Just do this
primesList = find(ary)+1;
The find() function tells you which elements are non-zero or true.

Sign in to comment.

More Answers (0)

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!