Como calcular o último dígito de $122^{122}$? [duplicado]
Eu tento usar $$122^{122} = 2^{122} (\mod 10)$$
Mas eu uso o MATLAB que $122^{122}=2 (\mod 10)$ e $2^{122}=4 (\mod 10)$. Por que eles não são iguais? A captura de tela é a seguinte:

Respostas
Não tenho mais acesso ao Matlab, então não posso reproduzir esse erro exatamente do meu lado. Um erro semelhante é observado quando eu uso o Octave online :
octave:2> mod(122^122, 10)
ans = 0
Você deve usar uma função como powermod . O truque é que não queremos computar$122^{122}$ explicitamente.
Notar que $122^{122}$é um número muito grande e está trabalhando em um ponto de flutuação de precisão dupla que excede o flintmax . Acima desse valor, o formato de precisão dupla não tem precisão de inteiro, e nem todos os inteiros podem ser representados exatamente.
A resposta é de fato $4$.
Aqui está o resultado do Python:
>>> 122**122 % 10 # cool, it can be computed
4
>>> pow(122, 122, 10) # preferred.
4
Você pode usar o teorema do resto chinês. Desde a$2$ e $10$ não são relativamente primos, Euler não é diretamente aplicável.
$10=2\cdot5$, e $2^{122}\equiv0\bmod2$. Nós temos$\varphi (5)=4\implies2^{122}\equiv2^2\equiv4\bmod5$, e a resposta é $4$.
$122^{122} \equiv 2^{122} (\text{mod $10$})$
Como, $2^5\equiv 2 (\text{mod $10$})$ $\implies 2^{120}\equiv 2^{24} \equiv 2^{4} (\text{mod $10$})$ $\implies 2^{122} \equiv 2^{6} \equiv 4 (\text{mod $10$})$
Olhe para o problema geral de encontrar o último dígito de $n^m$.
Levar $n=10N+h$ Onde $0\le h\le9$ e $m=4M+k$ Onde $0\le k\le3$.
Poder dos dígitos tem um período de $4$ modulo $10$ da seguinte forma: $$1\to1\to1\to1\\2\to4\to8\to6\\3\to9\to7\to1\\4\to6\to4\to6\\5\to5\to5\to5\\6\to6\to6\to6\\7\to9\to3\to1\\8\to4\to2\to6\\9\to1\to9\to1$$
Exemplo: $797^{723}=(10N+7)^{4\cdot180+3}\equiv7^3\pmod{10}=3\pmod{10}$.
Aplique isso para encontrar a resposta para o seu problema.
Na realidade, $ 122^{122} mod 10 = 4$. Eles são os mesmos.