Innanzitutto non si capisce quale sia il tuo problema...utilizzando un po' di intuito e immaginazione mi sembra di aver capito che preso in input un intero n devi riempire un array di dimensione n+1 con le potenze del 2 , tali che 2^q con q nell'intervallo [0 , n]

se è così il tuo codice è errato dove fai:

codice:
a[i] = Math.pow(2, n);
dovresti fare invece:

codice:
a[i] = Math.pow(2, i);