目录
题目链接
一些话
一开始n的类型写成了long long,被题目的提示迷惑了
因为要遍历每一位数字,所以应该用string
流程
遍历字符串,记录4和7的数量,然后判断其是否幸运
因为数字范围最大到18位,所以4和7数量最多是18,判断是否幸运的条件直接枚举小于等于18的幸运数字,即4和7
套路
ac代码
#include <iostream>
using namespace std;
int main(){
string n;//需要遍历每一位数字,用string来储存
cin >> n;
int cnt = 0;
for(int i = 0;i < n.size();i++){
if(n[i] == '4' || n[i] == '7') cnt++;
}
if(cnt == 4 || cnt == 7) cout << "YES";
else cout << "NO";
return 0;
}