마지막 숫자를 계산하는 방법 $122^{122}$? [복제]

Dec 21 2020

나는 사용하려고 $$122^{122} = 2^{122} (\mod 10)$$

하지만 저는 MATLAB을 사용합니다. $122^{122}=2 (\mod 10)$$2^{122}=4 (\mod 10)$. 왜 동일하지 않습니까? 스크린 샷은 다음과 같습니다.

답변

1 SiongThyeGoh Dec 21 2020 at 10:05

더 이상 Matlab에 액세스 할 수 없으므로이 오류를 정확히 재현 할 수 없습니다. Octave를 온라인에서 사용할 때 비슷한 실수가 관찰됩니다 .

octave:2> mod(122^122, 10)
ans = 0

powermod 와 같은 함수를 사용해야 합니다. 트릭은 우리가 계산하고 싶지 않다는 것입니다.$122^{122}$ 명시 적으로.

그것을주의해라 $122^{122}$은 매우 큰 숫자이며 flintmax 를 초과하는 배정 밀도 부동 소수점에서 작동 합니다. 이 값 이상에서는 배정 밀도 형식에 정수 정밀도가 없으며 모든 정수를 정확하게 표현할 수있는 것은 아닙니다.

답은 참으로 $4$.

다음은 Python 결과입니다.

>>> 122**122 % 10 # cool, it can be computed
4
>>> pow(122, 122, 10) # preferred.
4
1 ChrisCuster Dec 21 2020 at 09:02

중국 나머지 정리를 사용할 수 있습니다. 이후$2$$10$ 상대적으로 소수가 아니며 오일러는 직접 적용 할 수 없습니다.

$10=2\cdot5$, 및 $2^{122}\equiv0\bmod2$. 우리는$\varphi (5)=4\implies2^{122}\equiv2^2\equiv4\bmod5$, 대답은 $4$.

1 Alearner Dec 21 2020 at 09:28

$122^{122} \equiv 2^{122} (\text{mod $10$})$

같이, $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$})$

1 Piquito Dec 21 2020 at 09:38

마지막 숫자를 찾는 일반적인 문제를보십시오. $n^m$.

취하다 $n=10N+h$ 어디 $0\le h\le9$$m=4M+k$ 어디 $0\le k\le3$.

숫자의 거듭 제곱에는 마침표가 있습니다. $4$ 모듈로 $10$ 다음과 같은 방법으로 : $$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$$

예: $797^{723}=(10N+7)^{4\cdot180+3}\equiv7^3\pmod{10}=3\pmod{10}$.

이것을 적용하여 문제에 대한 답을 찾으십시오.

Hanx Dec 21 2020 at 09:00

사실은, $ 122^{122} mod 10 = 4$. 그들은 동일합니다.