随手练——洛谷-P1151(枚举与暴力搜索)
-
枚举
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#include <iostream> using namespace std; int main() { int k, flag = 0; cin >> k; for (int i = 100; i < 300; i++) { if (i%k == 0) { int p = (i % 100) * 10; for (int j = 0; j <10; j++) { if ((p + j) % k == 0) { int q = ((p + j) % 100) * 10; for (int l = 0; l < 10; l++) { if ((l + q) % k == 0) { cout << i << j << l << endl; flag = 1; } } } } } } if (300 % k == 0) { cout << 30000 << endl; flag = 1; } if (!flag) cout << "No" << endl; return 0; }
-
暴力搜索
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#include <iostream> using namespace std; int main() { int k, flag = 0; cin >> k; for (int i = 10000; i <= 30000; i++) { int p = i / 100; if (p%k == 0) { int q = p % 100 * 10 + i % 100 / 10; if (q%k == 0) { int t = q % 100 * 10 + i % 10; if (t%k == 0) { cout << i << endl; flag = 1; } } } } if (!flag) cout << "No" << endl; return 0; }
范围小的时候,枚举与搜索做的运算差不多时,枚举不一定比暴力搜索快,而且暴力搜索好写,写的也快,不容易遗漏出错。
但像这种题目随手练——洛谷-P1008 三连击,就只能枚举,暴力是跑不出来的。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步