М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
bulavka8
bulavka8
16.01.2020 01:35 •  Информатика

Задача со звездочкой Пользователь вводит с клавиатуры два числа (начало и конец диапазона). Требуется проанализировать все
числа в этом диапазоне.
Нужно вывести на экран:
1. Все числа диапазона;
2. Все числа диапазона в убывающем порядке;
3. Все числа, кратные 7;
4. Количество чисел, кратных 5.

👇
Ответ:
linda310384
linda310384
16.01.2020

#include <iostream>

using namespace std;

signed main(){

   int l, r;

   cin >> l >> r;

   if(l > r)

       swap(l,r);

   cout << "1) ";

   for(int i = l; i <= r; i++) cout << i << " ";

   cout << "\n2) ";

   for(int i = r; i >= l; i--) cout << i << " ";

   cout << "\n3) ";

   for(int i = l; i <= r; i++) if(i % 7 == 0) cout << i << " ";

   cout << "\n4) ";

   int cnt = 0;

   for(int i = l; i <= r; i++) cnt += (i % 5 == 0);

   cout << cnt;

}

P.S. если это "задание со звездочкой", то страшно подумать, что там без нее

4,4(49 оценок)
Открыть все ответы
Ответ:
лейоа
лейоа
16.01.2020
1. У файлі зберігається блок інформації.
2. Від програми в якому він створюється, редагується, зберігається.ї
3. Дозволяється використовувати до 255 символів.Дозволяється використовувати символи національних алфавітів, зокрема російського.Дозволяється використовувати пробіли та інші раніше заборонені символи, за винятком наступних дев'яти: / \ :*?"|.В імені файлу можна використовувати кілька точок. Розширенням імені вважаються всі символи, які стоять за останньою крапкою.
4. Для зручності і сортування.
4,8(56 оценок)
Ответ:
NeZnayVsego
NeZnayVsego
16.01.2020
Наивный алгоритм: используя два вложенных цикла, проверить все подстроки, являются ли они палиндромами. Такой алгоритм будет работать O(|S|^2), что при ограничении |S| <= 10^5 потребует примерно 10^10 / 2 сравнений, что достаточно долго.

Оптимизация: в центре у палиндрома четной длины всегда пара одинаковых символов. Их можно найти, а затем увеличивать длину до тех пор, пока это возможно. Плюс этого наблюдения в том, что если пара попадется не в центре, то максимальная длина подстроки-палиндрома с центром в этой паре, будет ограничена сверху. Однако в худшем случае (все символы одинаковы) всё равно придется произвести немалое число сравнений.

Однако задачу можно решить и за линейное время. Например, существует алгоритм Манакера, основанный на том, что можно использовать информацию, что часть строки является палиндромом. А именно, если в длинную-длинную строку-палиндром входит другая подстрока-палиндром, то можно не начинать проверку заново, а использовать уже имеющуюся информацию.

Пример 1: "длинная" подстрока-палиндром:
cbbaabbaabbc
в которой известна подстрока-палиндром. Тогда в строке есть симметричная подстрока-палиндром:
cbbaabbaabbc
Пример 2: "длинная" подстрока палиндром:
bbaabbaabbaa
Зная, что в ней есть подстрока-палиндром
bbaabbaabbaa,
можно явные сравнения для подстроки с центром в
bbaabbaabbaa
начинать уже с 
bbaabbaabbaa

Если не хочется писать самостоятельно, алгоритм Манакера легко находится.
4,4(99 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ