Info

此问题已关闭。 请重新打开它进行编辑或回答。

Find out how long after division will be an integer?

1 次查看(过去 30 天)
Hello! Is it possible to know when the condition will be met, what has been divided and the result is an integer?
A=[1:100];
for i=1:30
Ax(i)=A(i)/2;
if Ax(i) not a fractional number
Ax(i)=Ax(i);
else
break
end
end

回答(2 个)

KSSV
KSSV 2020-7-28
if mod(x,1)==0 then x is an whole number/ integer.
  2 个评论
Lev Mihailov
Lev Mihailov 2020-7-29
I don't quite understand the given function
A(2)/2=1 % correctly and write to the array
A(3)/2= 1.5 % wrong and move on to the next correct number
A(4)/2=2 % correctly and write to the array
KSSV
KSSV 2020-7-29
编辑:KSSV 2020-7-29
A=[1:100];
count = 0 ;
iwant = zeros([],1) ;
for i=1:30
Ax(i)=A(i)/2;
if ~mod(Ax(i),1) % Ax(i) not a fractional number
count = count+1 ;
iwant(count)=Ax(i);
end
end
iwant
You need not to use a loop.
idx = mod(Ax,1) ;
iwant = Ax(idx==0) ;

madhan ravi
madhan ravi 2020-7-28
Simple use mod()
doc mod

此问题已关闭。

产品

Community Treasure Hunt

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

Start Hunting!

Translated by