Count the numbers in an array until a certain number

6 views (last 30 days)
I have an array of numbers, the user can input whatever number they like. Long story short, I determined the most highly composite number in an array of numbers from 1 to whatever number the user chooses.
Once I find the most highly composite number, in the case of 12-- which is in the code below-- it's 6, I need to find what number 6 corresponds to (which in this case is 12).
CONCLUSION: I need to count the amount of numbers in the original array that is less than the number I output (in this case 6).
It seems like a lot of people are able to count every number in an array less than a certain number, * but I need to figure out how I can count every number in array BEFORE a certain number.*
prompt={'Enter any value'};
name = 'Any Value';
defaultans = {'12'};
options.Interpreter = 'tex';
B = inputdlg(prompt,name,[1 30],defaultans,options);
% Get the value out of a cell
a = str2num(cell2mat(B));
% Make an numeric array from 1 to a
K = 1:a
for t=1:length(K);
K=rem(t,1:t);
b(t)=sum(K==0);
end
y1=reshape(b,[],length(K))
m=max(y1)
%here I find the the max number in y1 is 6, now I need to be able to count
%every number only up until 6.

Accepted Answer

cestcandice
cestcandice on 7 Jun 2017
Never mind! I found the solution to my own problem... For anyone else curious, here's what you can do!
%find the location of the maximum number
n=find(y1==m);
%display the first time that number appears
n(1)

More Answers (0)

Community Treasure Hunt

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

Start Hunting!