MATLAB Answers

AND in while loop

1 view (last 30 days)
Muhammad Althaafa Sukmaputra
Edited: Jonas on 5 Aug 2021
why does this code stops at a=1 or b=1? i expect it to stop at a=1 and b=1
a=input('');
b=input('');
x=2;
c=1;
while (a~=1 && b~=1)
while (mod(a,x)==0) || (mod(b,x)==0)
c=c*x;
if (mod(a,x)==0)&&(mod(b,x)==0)
a=a/x;
b=b/x;
elseif mod(a,x)==0
a=a/x;
elseif mod(b,x)==0
b=b/x;
end
end
x=x+1;
end
disp(c)

Answers (1)

Jonas
Jonas on 5 Aug 2021
Edited: Jonas on 5 Aug 2021

it should run if

   ~(a==1 && b==1)

which would equal

a~=1 || b~=1

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by