Cuidado en el primer for porque recordá que los arreglos van desde el índice 0 hasta el n-1, con i<=B, cuando i=B , seguirás iterando y podrías llegar a entrar a un índice no valido del arreglo. Por lo demás, el que no quede nada guardado en ciertos índices del arreglo a priori no te va a causar ningún error de compilación, pero se te podría complicar si queres iterar en el arreglo debido a que va a haber valores indefinidos adentro, podrías buscar ingeniártelas para que cuando un numero no es primo, puedas dejar algo en ese índice para indicarlo. Espero sea de ayuda!