当我在 matlab / octave 中输入(1:4:16)时,我得到1,5,9,13作为答案
有没有办法让我得到丢失的数字?
so instead of getting 1,5,9,13
I get 2,3,4,6,7,8,10,11,12,14,15,16
你可以使用这个功能:
function num = getTheMissingNumbers( from, jump, to )
num = from:to;
num = setdiff( num, from:jump:to );
你可以调用这个函数
>> getTheMissingNumbers( 1, 4, 16 )
得到你想要的数字。
如果您进一步假设输入getThemissingNumbers
始终以 1 开头,则可以使用更有效地实现它
function num = getTheMissingNumbers( jump, to )
num = 1:to;
num(1:jump:to) = []; % remove the elements in ind
根据 tmpearce 的评论编辑。