**Info**

This question is closed. Reopen it to edit or answer.

# plotting the number of actions for ex i=i+1 ( action), pgd=n/i ( action), pgd=n(action)

1 view (last 30 days)

Show older comments

function pgd = entier(n)

i = 2;

while i≤n/2 & mod(n,i)~-0

i = i+1;

end

if mod(n,i)==0

pgd = n/i;

else

pgd = n;

end

end

##### 1 Comment

Roger Stafford
on 22 Jan 2014

### Answers (1)

AJ von Alt
on 21 Jan 2014

You can create a variable to count the number of actions taken and increment it every time an action is take. Have your function return that variable and store it for later plotting.

function [pgd , nActions] = entier(n)

nActions = 0;

i = 2;

while i<=n/2 && mod(n,i)~=0

i = i+1;

nActions = nActions + 1;

end

if mod(n,i)==0

pgd = n/i;

nActions = nActions + 1;

else

pgd = n;

nActions = nActions + 1;

end

end

##### 2 Comments

Walter Roberson
on 21 Jan 2014

The line

while i<=n/2 && mod(n,i)~=0

requires at least two actions, one for the division and one for the mod() calculation. I would also suggest that if assignment is to be treated as an action, that comparison would have to be an action as well, remembering the && comparison should also be an action. Then one needs to take into account that && "short circuits" and so the mod() and comparison to 0 would not require actions if i<=n/2 is false.

AJ von Alt
on 22 Jan 2014

### See Also

### Products

### Community Treasure Hunt

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

Start Hunting!