题解
思路一:快速幂
| #define MOD 1000000007 |
| long long power(int n, long long times) |
| { |
| if(times == 1) return n; |
| if(times == 0) return 1; |
| long long next = power(n, times / 2); |
| return next * next * power(n, times % 2) % MOD; |
| } |
| int countGoodNumbers(long long n) { |
| long long four_times = n / 2; |
| long long five_times = four_times + n % 2; |
| return (power(4, four_times) * power(5, five_times)) % MOD; |
| } |
思路二:暴力打表
| #define MOD 1000000007 |
| int countGoodNumbers(long long n) { |
| int mark = n % 2; |
| long long ans = 1; |
| while (n - pow(10, 14) > 0) { |
| n -= pow(10, 14); |
| ans = (ans * 918742959) % MOD; |
| } |
| while (n - pow(10, 13) > 0) { |
| n -= pow(10, 13); |
| ans = (ans * 567839794) % MOD; |
| } |
| while (n - pow(10, 12) > 0) { |
| n -= pow(10, 12); |
| ans = (ans * 857412984) % MOD; |
| } |
| while (n - pow(10, 11) > 0) { |
| n -= pow(10, 11); |
| ans = (ans * 454060842) % MOD; |
| } |
| while (n - pow(10, 10) > 0) { |
| n -= pow(10, 10); |
| ans = (ans * 176203868) % MOD; |
| } |
| while (n - pow(10, 9) > 0) { |
| n -= pow(10, 9); |
| ans = (ans * 142875001) % MOD; |
| } |
| while (n - pow(10, 8) > 0) { |
| n -= pow(10, 8); |
| ans = (ans * 468083689) % MOD; |
| } |
| while (n - pow(10, 7) > 0) { |
| n -= pow(10, 7); |
| ans = (ans * 924188482) % MOD; |
| } |
| while (n - pow(10, 6) > 0) { |
| n -= pow(10, 6); |
| ans = (ans * 171395901) % MOD; |
| } |
| while (n - pow(10, 5) > 0) { |
| n -= pow(10, 5); |
| ans = (ans * 86331955) % MOD; |
| } |
| while (n - pow(10, 4) > 0) { |
| n -= pow(10, 4); |
| ans = (ans * 325891746) % MOD; |
| } |
| while (n - pow(10, 3) > 0) { |
| n -= pow(10, 3); |
| ans = (ans * 36020987) % MOD; |
| } |
| while (n - pow(10, 2) > 0) { |
| n -= pow(10, 2); |
| ans = (ans * 564490093) % MOD; |
| } |
| while (n - pow(10, 1) > 0) { |
| n -= pow(10, 1); |
| ans = (ans * 3200000) % MOD; |
| } |
| while ((n -= 2) >= 0) { |
| ans *= 20; |
| ans %= MOD; |
| } |
| if (mark) |
| return (ans * 5) % MOD; |
| return ans; |
| } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】