Вопрос задан 02.08.2026 в 18:40. Предмет Информатика. Спрашивает Чермных Даша.

Юную разведчицу Соню раскрыл вражеский агент Вася. Теперь он заставляет её переписывать в тетрадь длинные сложные слова. Соне скучно, поэтому она считает буквы в каждом слове и загадывает: дойду до первого слова, количество букв в котором делится на 7, и съем шоколадку.
Дано число n и n слов. Выведи номер первого слова, длина которого делится на 7, или "НЕТ", если такого слова нет. Нумерация начинается с единицы.

Перейти к ответам

Ответы на вопрос

Отвечает Печерица Людмила.

Решение

Нужно пройти по всем словам по порядку и найти первое, у которого количество букв кратно 7. Так как нумерация начинается с единицы, при нахождении такого слова выводим его номер. Если после проверки всех слов подходящего слова нет — выводим НЕТ.

Важно считать именно количество букв в слове. В большинстве задач с русскими словами ввод идёт в кодировке UTF-8, поэтому в C++ обычный string.size() посчитает байты, а не буквы. Для русского алфавита нужно считать символы UTF-8 отдельно.

C++
#include 
#include 
using namespace std;

int countLetters(const string& s) { int cnt = 0; for (int i = 0; i < (int)s.size(); ) { unsigned char c = s[i]; if (c < 128) { i++; } else { // Русские буквы в UTF-8 занимают 2 байта i += 2; } cnt++; } return cnt; }

int main() { int n; cin >> n;

string word;

for (int i = 1; i <= n; i++) { cin >> word;

if (countLetters(word) % 7 == 0) { cout << i; return 0; } }

cout << "НЕТ";

return 0; }

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос