2

当我在 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
4

1 回答 1

2

你可以使用这个功能:

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 的评论编辑

于 2013-06-16T18:22:21.203 回答