分析:设f[i,j]为前i个数组成序列,最后一位为j的值,转移显然。
代码:
const
p=1000000007;
var
n,k,i,j,m,ans:longint;
f:array [0..2000,0..2000] of longint;
begin
read(n,m);
for i:=1 to n do
f[i,1]:=1;
for j:=2 to m do
for i:=1 to n do
for k:=1 to n div i do
begin
if f[k*i,j-1]=0 then break;
f[i,j]:=(f[i*k,j-1]+f[i,j]) mod p;
end;
for i:=1 to n do
ans:=(ans+f[i,m]) mod p;
writeln(ans);
end.