Octave, 24 bytes
@(m,n)diff(fix(0:m/n:m))
The code defines an anonymous function. The output is a numeric array (row vector). When there is no this array contains at least one zero, which is falsy in Octave.
Explanation
0:m/n:m
produces an array of n+1
values from 0
to m
with step m/n
. fix
rounds each entry towards 0
, and diff
computes consecutive differences.
As an example, here are all intermediate results for m = 7
, n = 3
:
>> 0:m/n:m
ans =
0 2.3333 4.6667 7.0000
>> fix(0:m/n:m)
ans =
0 2 4 7
>> diff(fix(0:m/n:m))
ans =
2 2 3