BZOJ4292 : [PA2015]Równanie
注意到f(n)不会超过1459,于是暴力枚举f(n),检验n=k*f(n)是否合法即可。
1 2 3 4 5 6 7 8 9 10 11 12 13 | #include<cstdio> long long k,a,b,t; int i,j,ans; int main(){ scanf ( "%lld%lld%lld" ,&k,&a,&b); for (i=1;i<=1459&&k<=b/i;i++){ t=k*i; if (a<=t&&t<=b){ for (j=0;t;t/=10)j+=(t%10)*(t%10); if (j==i)ans++; } } return printf ( "%d" ,ans),0; } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步