using trial and error in math problems

Solution 1:

You should notice that the number of bacteria double every 30 minutes. So, make a table:

12:00 AM - 1 bacterium

12:30 AM - 2 bacteria

01:00 AM - 4 bacteria

01:30 AM - 8 bacteria

02:00 AM - 16 bacteria

... now keep going until you hit 12 PM / 1 billion bacteria.

Solution 2:

Here's a neat method for (b) that your teacher may discuss later, but I doubt you'd be expected to come up with this method on your own.

Using the fact that $10$ doublings multiplies by $1024$ $(1$ doubling multiplies by $2,$ $2$ doublings multiplies by $4,$ $3$ doublings multiplies by $8,\,\ldots$ keep going until you get to $10$ doublings), and $1024$ is very close to being $1000$ (a $2.4$% error), we can leap-frog by taking jumps of $10$ doublings at a time:

$$10 \;\; \text{doublings corresponds to roughly} \;\; 1000 = 10^3 \;\; \text{bacteria}$$ $$20 \;\; \text{doublings corresponds to roughly} \;\; 1000000 = 10^6 \;\; \text{bacteria}$$ $$30 \;\; \text{doublings corresponds to roughly} \;\; 1000000000 = 10^9 \;\; \text{bacteria}$$ So you'll get about $1$ billion bacteria after $30$ doublings, which corresponds to $30$ half-hour periods.