Bastante simple pregunta, para qué valores de a $0\leq k \leq 500$ do tenemos $\max\{(1+x)^{500+k}(1-x)^{500-k}|x\in[0,1]\} \geq 10^9$ ?
Algunos trivial observaciones:
El problema es equivalente a encontrar el más pequeño $k$, de modo que $\max\{(1+x)^{500+k}(1-x)^{500-k}|x\in[0,1]\} < 10^9$
Claramente es igual a$(1-x^{1000-2k})(1+x)^{2k}$, por lo que debemos tener $(1+x)^{2k}\geq10^9$, ya que el $1+x\leq 2$ esto implica $2k\geq 30\implies k\geq 15$. Por supuesto, este es probablemente inútil.
Edit: con el hecho de que el máximo se alcanza en$\frac{k}{500}$, se puede reformular como:
$(500+k)^{500+k}(500-k)^{500-k}>500^{1000}10^9$
El siguiente java problema se soluciona muy bien, en menos de un segundo.
import java.math.*;
public class eulerbla {
public static void main(String[] args) {
BigInteger potdiez = new BigInteger ("1000000000");
BigInteger quinmas = new BigInteger("500");
BigInteger quinmen = new BigInteger("500");
BigInteger num;
BigInteger bound = quinmen.pow(1000);
bound= bound.multiply(potdiez);
for(int k=0;k<=500;k++){
num = (quinmas.pow(500+k));
num = num.multiply(quinmen.pow(500-k));
if(num.compareTo(bound)>=0){
System.out.println(k);
}
quinmas=quinmas.add(BigInteger.ONE);
quinmen=quinmen.subtract(BigInteger.ONE);
}
}
}
Salida:102