For question 1, if the input was 20, the multiples of 3 or 5 below 20 are 3, 5, 6, 9, 10, 12, 15, 18, and the sum of these is 78.
Your solution to q2 is correct, but its runtime is exponential in proportion to its input. If I implement it and try to evaluate n=100...
>>> def fib(n):
...