Решение задачи Почти счастливое число с Codeforces

Без пояснения   Просмотров: 219


Петя любит счастливые числа. Всем известно, что счастливыми являются положительные целые числа, в десятичной записи которых содержатся только счастливые цифры 4 и 7. Например, числа 47, 744, 4 являются счастливыми, а 5, 17, 467 — не являются.

К сожалению, не все числа счастливые. Петя называет число почти счастливым, если количество счастливых цифр в нем — счастливое число. Ему интересно, является ли число n почти счастливым.

Код

#include <bits/stdc++.h>

using namespace std;

int main()
{
    long long k = 0;
    string n;
    cin >> n;
    int pos = n.find_first_of("47");
    while(pos + 1){
        ++k;
        pos = n.find_first_of("47", pos + 1);
    }
    if(!k){
        cout << "NO";
        return 0;
    }
    while(k){
        if(k % 10 != 7 && k % 10 != 4){
            cout << "NO";
            return 0;
        }
        k/=10;
    }
    cout << "YES";
    return 0;
}

         

Администратор Photo Автор: Администратор



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться