d) needs a bit elaboration.
(i) If the question is about a run of exactly 4 $0$'s (though possibly a longer run elsewhere), we can count like this:
There are $2^5$ strings starting with $00001$.
There are $2^5$ strings ending with $10000$.
For $0\le k\le 4$ there are $2^4$ strings $\alpha100001\beta$, where $\alpha$ is $k$ digits and $\beta$ is $4-k$ digits long. Note that we need the "sentinel" $1$s to prevent the block from being longer than 4.
That gives $2^5+2^5+5\cdot2^4=144$ strings.
However, $0000100001$, $0000110000$, $1000010000$ are counted twice, thus the answer is: 141.
Note that e.g. $0000100000$ is counted even though it has (also) a run of 5 0's.
(ii) If the question is about a run of at least 4 $0$'s, we can do this:
There are $2^6$ strings beginning with $0000$, i.e. with the block starting at the first digit.
For $2\le k\le 6$, there are $2^5$ strings of the form $\alpha10000\beta$ with $\alpha$ of length $k-1$ and $\beta$ of length $6-k$, i.e. with the block starting at the $k$th digit.
This give $2^6+5\cdot2^5=224$ strings.
However, we counted solutions with two blocks twice, namely $0000100001$, $0000110000$, $1000010000$, $0000100000$, $0000010000$. (Fortunately, there is not much room for two blocks).
Thus the answer is: 219.
NOTE: This answer assumes that the OP asks for the number of bit strings with EXACTLY 5 consecutive 0's or 1's. It does not work if you're looking for the number of bit strings with AT LEAST 5 consecutive 0's or 1's.
There are 10 bits, so there's a total of $2^{10}=1024$ possible cases.
Let see the case of 5 consecutive 0's.
Then, we need at least a 1 in every end (if there wasn't, it would be 6 consecutive 0's). Let's see all possible arranges ($x$ is a bit whose value doesn't matter, so it could be either a 1' or a 0':
$$\begin{array}{rcl}
000001xxxx&&6\text{ numbers fixed, so }2^4\text{ cases}\\
1000001xxx&&7\text{ numbers fixed, so }2^3\text{ cases}\\
x1000001xx&&7\text{ numbers fixed, so }2^3\text{ cases}\\
xx1000001x&&7\text{ numbers fixed, so }2^3\text{ cases}\\
xxx1000001&&7\text{ numbers fixed, so }2^3\text{ cases}\\
xxxx100000&&6\text{ numbers fixed, so }2^4\text{ cases}
\end{array}$$
So there's $2\cdot 2^4 + 4\cdot2^3=2^5+2^5=2^6=64$ bit strings with 5 consecutive 0's.
The case of 5 consecutive 1's is exactly the same, so there's 64 bit strings with 5 consecutive 1's.
But, note we are counting twice the cases with 5 consecutive 1's and 5 consecutive 0's:
$$0000011111\qquad 1111100000$$
So we need to substract 2 (2 possible bit strings) for a total of:
$$64+64-2=126\text{ bit strings with either 5 consecutive 0's or 1's}$$
Best Answer
Lets use inclusion-exclusion method.
First we find the number of bit-strings from size of $n$ that doesn't contain the sequence '000'. We will construct recursion formula, let $F(n)$ be that number.
Therfore we get: $F(n) = F(n-1)+F(n-2)+F(n-3)$
With the initial conditions $F(0) =1, F(1) =2, F(2) =2^2$
With te same method we get: $G(n) = G(n-1)+G(n-2)+G(n-3)+G(n-4)$
With the initial conditions $G(0) =1, G(1) =2, G(2) =2^2, G(3)=2^3$
Where $G(n)$ is the number of bit-strings from size of $n$ that doesn't contain the sequence '1111'.
Now, by opening the recursion up we get $F(8)= 149$ and $G(8)=208$
So if we define:
and by what we calculated we have $|A| = 2^8-F(8)$ and $|B| = 2^8-G(8)$
What left to complete inclusion exclusion is to find the size of $|A\cap B|$, which is easy since the only strings that satisfy both are: '00001111' , '11110000', '11111000', '00011111', '00011110', '10001111', '01111000', '11110001'
Now the desiered number is $|A|+|B|-|A \cap B|$