Бесплатный урок с нашим репетитором!

Узнать подробнее

Новая Школа - онлайн-школа подготовки к ЕГЭ
При поддержке
Посмотреть все вопросы нейросети
Бесплатный пробный урок с репетитором

Узнай больше про репетиторов Новой Школы и запишись на бесплатный пробный урок. Мы проверим твой уровень знаний и составим план обучения по любому предмету и классу

Вопрос от Анонимного юзера 16 апреля 2026 17:48

Скрытые тесты Вася иногда бывает многословен, и его посты выходят за ограничение по количеству символов. Он написал программу, которая по строке выводит её длину. Потом показал программу Алисе. Чтобы проверить правильность программы, Вася запустил её на двух строках: "привет" и "длинная строка!". Алиса тоже запускала Васину программу, но не сказала, на каких входных данных. Посмотри на панель Тесты. Тесты 1 и 2 открыты: это Васины запуски. Тесты 3 и 4 посмотреть нельзя: там запуски Алисы. Такие тесты называются скрытыми. Ты увидишь их в самостоятельных работах. Правильная программа должна работать на всех данных, и известных, и неизвестных. Напиши Васину программу. Ввод Вывод привет 6 длинная строка! 15

Ответ нейросети

16 апреля 2026 17:48

Задача проста: прочитать одну строку и вывести её длину в символах (а не в байтах). Пример: для входов "привет" и "длинная строка!" вывод должен быть 6 и 15 соответственно.

Пошагово:

  • Ввод: читаем одну строку целиком (до перевода строки), чтобы учесть пробелы внутри.
  • Подсчёт: количество символов в строке. В большинстве языков это эквивалент количества Юникод-символов (кодовых точек).
  • Вывод: печатаем полученное число.

Простой вариант на Python 3 (рабочий и понятный, корректно считает символы Unicode):

  • s = input() # считывает одну строку до конца строки, пробелы внутри остаются
  • print(len(s)) # длина строки по символам (кодовым точкам)

Привожу готовый код Васиной программы (Python 3): s = input() print(len(s))

Пояснение:

  • В Python 3 функция input() считывает строку без завершающего переноса строки и сохраняет все символы, включая пробелы внутри.
  • Функция len(s) возвращает количество символов в строке, то есть нужную длину.

Дополнительно для тех, кто пишет на C++ и хочет корректно учитывать Unicode:

  • По умолчанию std::string хранит байты, и длина может оказаться неверной для Unicode в UTF-8. Чтобы посчитать именно количество кодовых точек, можно декодировать UTF-8 и подсчитать иные символы, либо использовать wide-ввод.
  • Пример компактной реализации на C++, считающей кодовые точки в UTF-8 (без связанных с локалью возможностей):

#include <bits/stdc++.h> using namespace std;

int main() { ios::sync_with_stdio(false); cin.tie(nullptr); string s; if (!getline(cin, s)) return 0;

size_t i = 0, n = s.size(), cnt = 0;
while (i < n) {
    unsigned char c = s[i];
    if ((c & 0x80) == 0) { // однобайтовый ASCII
        ++i;
    } else if ((c & 0xE0) == 0xC0) { // 2 байта
        i += 2;
    } else if ((c & 0xF0) == 0xE0) { // 3 байта
        i += 3;
    } else if ((c & 0xF8) == 0xF0) { // 4 байта
        i += 4;
    } else {
        // некорректный байт, пропускаем его как один символ
        ++i;
    }
    ++cnt;
}
cout << cnt;
return 0;

}

Но для простого задания и максимально понятного решения лучше использовать Python, как в приведённом первом примере.

Задай свой вопрос

Напиши любую задачу или вопрос, а нейросеть её решит

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

Бесплатно Мобильное приложение ГДЗ
Мобильное приложение ГДЗ

Задавай вопросы искуcственному интеллекту текстом или фотографиями в приложении на iPhone или Android

qr-codegoogle-playapp-store

Саша — ассистент в телеграмме

Скрытые тесты Вася иногда бывает многословен, и его посты выходят за ограничение по количеству символов. Он написал программу, которая по строке выводит её длину. Потом показал программу Алисе. Чтобы проверить правильность программы, Вася запустил её на двух строках: "привет" и "длинная строка!". Алиса тоже запускала Васину программу, но не сказала, на каких входных данных. Посмотри на панель Тесты. Тесты 1 и 2 открыты: это Васины запуски. Тесты 3 и 4 посмотреть нельзя: там запуски Алисы. Такие тесты называются скрытыми. Ты увидишь их в самостоятельных работах. Правильная программа должна работать на всех данных, и известных, и неизвестных. Напиши Васину программу. Ввод Вывод привет 6 длинная строка! 15
Задача проста: прочитать одну строку и вывести её длину в символах (а не в байтах). Пример: для входов "привет" и "длинная строка!" вывод должен быть 6 и 15 соответственно. Пошагово: - Ввод: читаем одну строку целиком (до перевода строки), чтобы учесть пробелы внутри. - Подсчёт: количество символов в строке. В большинстве языков это эквивалент количества Юникод-символов (кодовых точек). - Вывод: печатаем полученное число. Простой вариант на Python 3 (рабочий и понятный, корректно считает символы Unicode): - s = input() # считывает одну строку до конца строки, пробелы внутри остаются - print(len(s)) # длина строки по символам (кодовым точкам) Привожу готовый код Васиной программы (Python 3): s = input() print(len(s)) Пояснение: - В Python 3 функция input() считывает строку без завершающего переноса строки и сохраняет все символы, включая пробелы внутри. - Функция len(s) возвращает количество символов в строке, то есть нужную длину. Дополнительно для тех, кто пишет на C++ и хочет корректно учитывать Unicode: - По умолчанию std::string хранит байты, и длина может оказаться неверной для Unicode в UTF-8. Чтобы посчитать именно количество кодовых точек, можно декодировать UTF-8 и подсчитать иные символы, либо использовать wide-ввод. - Пример компактной реализации на C++, считающей кодовые точки в UTF-8 (без связанных с локалью возможностей): #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); string s; if (!getline(cin, s)) return 0; size_t i = 0, n = s.size(), cnt = 0; while (i < n) { unsigned char c = s[i]; if ((c & 0x80) == 0) { // однобайтовый ASCII ++i; } else if ((c & 0xE0) == 0xC0) { // 2 байта i += 2; } else if ((c & 0xF0) == 0xE0) { // 3 байта i += 3; } else if ((c & 0xF8) == 0xF0) { // 4 байта i += 4; } else { // некорректный байт, пропускаем его как один символ ++i; } ++cnt; } cout << cnt; return 0; } Но для простого задания и максимально понятного решения лучше использовать Python, как в приведённом первом примере.