前言

这个应该小学生都可以看懂吧(本题解没有用到任何较难的知识)。

好像我也是小学生唉

前置小知识

$a\bmod b=c$ 代表取模,即 $a$ 除 $b$ 的余数是 $c$。

题意

求 $ 2^{(3^{(4^{(\ldots ^{2023})})})} \bmod2023$。

思路

因为这个式子过于复杂,所以要简化一下。

根据小学的知识,找规律!!!

但是手算是不行的,写个程序:

1
2
3
4
5
6
int s=3,sum=0,vis[2025]={};
while(!vis[s]){
vis[s]=1;
s=(s*3)%2023;
sum++;
}cout<<sum;

得出每 $408$ 个数为一个周期。

之后我们还需要知道指数在周期外的个数(即$ 3^{(4^{(\ldots ^{2023})})}\bmod 408$)。

一样,还是找规律

1
2
3
4
5
6
int s=3,sum=0,vis[2025]={};
while(!vis[s]){
vis[s]=1;
s=(s*3)%2023;
sum++;
}cout<<sum;

得出每 $16$ 个数为一个周期。

我们又发现 $4\times4=16$,得出 $4^{(5^{(6^{(\ldots ^{2023})})})} \bmod16=0$。

所以可以得出 $ 3^{(4^{(5^{(\ldots ^{2023})})})} \bmod408=273$。

推一下,还可以得出 $ 2^{(3^{(4^{(\ldots ^{2023})})})} \bmod2023=2^{273}$。

然后又用程序跑一遍,得出 $2^{273} \bmod =869$。

所以答案是 $869$。