Answer
$30$ bits
Work Step by Step
If a memory has $N$ bytes, then we need enough bits to represent $N$ unique addresses.
Bits in MAR$ = ⌈\log_2N⌉$
For $N=1,000,000,000$, we have:
Bits in MAR$ = ⌈\log_2(1,000,000,000)⌉\approx ⌈29.9⌉ =30$
Minimum bits needed: $30$ bits