how to get out infinite loop
古いコメントを表示
this code required to calculate the smallest multiple with uint64 format bit gets stuck on argument 45. it only displays busy . can someone explain why?
function answer = smallest_multiple (N)
limit =1e15;
for i = N:N:limit
for j = N:-1:1
if mod(i,j) ~= 0
break
end
end
if j == 1
answer =uint64(i);
break
end
end
3 件のコメント
Adam
2016 年 6 月 24 日
Why do you assume it is an infinite loop? It seems to just be very slow. Looping up to 1e15 isn't going to be especially fast.
OLUBUKOLA ogunsola
2016 年 6 月 24 日
jgg
2016 年 6 月 24 日
You break out of your loop if i is not divisible by j at any point; this means answer is not assigned in many loop iterations. This is probably not what you want to do here.
回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Loops and Conditional Statements についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!