Recursiva, 20 18 bytes
smBa++'%'Va'a:0!a'
Explanation:
smBa++'%'Va'a:0!a' - Input to a; 20
s - sum up; 42
m - map with; [1, 0, 3, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15]
Ba - Range; [1,2..20]
++'%'Va'a:0!a' - function, evaluates to 0 if param cannot divide a i.e. 20