MATLAB: Search array for largest value of the desired format

array

I have an array, data, I need to search through it to find 1000 , 2000 , 3000 , … n
As many as exist in the array. 1000 will always exist and 32000 is the highest.
output should be 1 if just 1000, 2 if 1000 and 2000, 3 if 1000 2000 and 3000 exist in the array, data.
I can figure it out with a while and nested for loop but its too inefficient for what i am attempting to do.

Best Answer

Something like,
A = [1 2 1000 3 4 2000 4 3 3000];
B = (1:10)*1000;
res = nnz(ismember(A,B));
and if there are more than one of 1000/2000/etc, the value of res will be subsequently be higher.