/* 思路:注意两个条件 1. 该数字能被 7 整除 2. 或该数字中包含 7 (利用 to_string(num).find('7') != string::npos 来判断数字中是否包含7) 两个满足一个即满足题目要求 做法: 遍历从 1 到 n 的所有数, 累加满足条件的数字 */ #include <iostream> #include <string> using namespace std; int main() { int n; cin >> n; int ans = 0; for(int i = 1; i < n+1; ++i){ if(i % 7 == 0 || to_string(i).find('7') != string::npos){ ans++; } } cout << ans << endl; return 0; } // 64 位输出请用 printf("%lld")