C, supongamos que x e y son números enteros; escriba un programa para encontrar los últimos tres dígitos de X elevados a la potencia de y.
Si el número es demasiado grande, se desbordará y el resultado definitivamente será incorrecto.
Esta pregunta es una pregunta aritmética y no se puede hacer imprudentemente. Hay reglas a seguir:
El valor de los últimos tres dígitos del producto es sólo el mismo que el de los últimos tres. dígitos del multiplicador y del multiplicando. Depende del número de dígitos y no tiene nada que ver con los dígitos altos del multiplicador y del multiplicando.
No habrá ningún problema para escribir a partir de esto. #include?
int?main?()
{
int?x , y,i,last;
last=1; // Recuerda la inicialización
scanf?("%d%d",& amp;x,&y);
para?(i=1;i<=y;i++)
{
último=último*x%1000;
}
if?(last==0)
printf?("%d%d%d%d\n", last,last,last); //Con final de tres ceros.
else
printf?("%d\n",last);
return?;
}