Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
74597 | 陈路垚 | 幸运数字 | C++ | 通过 | 100 | 66 MS | 256 KB | 692 | 2023-05-27 16:38:53 |
#include<iostream> #include<cstring> using namespace std; bool isLucky(int x) { if (x % 4 == 0 || x % 7 == 0) { // 条件 1 或 2 return true; } string s = to_string(x); int len = s.length(); for (int i = 0; i < len - 1; i++) { // 枚举所有可能的 2 位子串 if ((s[i] == '4' && s[i+1] == '4') || (s[i] == '7' && s[i+1] == '7')) { return true; // 包含子串 "44" 或 "77" } } return false; } int main() { int n; cin >> n; int cnt = 0; for (int i = 1; i <= n; i++) { if (isLucky(i)) { cnt++; } } cout << cnt << endl; return 0; }