E 原题 题目大意 对于给出的一个n,找到一个m,使得n%m == S(m),其中m<=n,S表示各位数字之和 遍历1~n显然不现实,那么能不能找m呢? 通过变化等式我们可以发现,n-S(m)取余m为0,也就是m得倍数,也就是m是其因子 因为位数为12,所以S(m)的取值范围不超过120,通过遍历S(m),判断n-S(m)是否有因子m满足题意,即n%m == S(m)即可 要求给出有多少个m,其中找因子可以通过Pollard_Rho的算法和Miller-Rabin算法找到质因数,然后通过深搜组合质因子,求得所有因子 代码如下 #include<bits/stdc++.h> u...