唉,考场上只想出了的处理各个位上的数字相加的方法,至于那个11111...111就只有打表得到了一个小数据范围的,但貌似没什么用。所以,在此就只讲正解了。 由题意得,我们需要先把各个位上的数字加起来,求出这个sum的最小质因数,然后对于可看作,即.这个用快速幂解决,快速幂时带个取余操作。完了。 #include<bits/stdc++.h> using namespace std; const int maxn = 5e6; string s; int prime[maxn+5]; int tot,n,sum,ans; int mark[maxn+5]; void init(...