Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 13.01.2016
Сообщений: 6

Определить количество вхождений комбинации цифр в число

13.01.2016, 15:29. Показов 2136. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите, ребятушки. Вообщем задание: Пользователь вводит число S, а программа должна вывести количество значений 2015. Например: 201020150282015 = 2. Не догоню, как сделать. И S<=10^100 должно быть.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.01.2016, 15:29
Ответы с готовыми решениями:

Дано натуральное число n. Получить это же число в виде комбинации цифр и пробелов
Дано натуральное число n. Получить это же число в виде комбинации цифр и пробелов: пробелы разделяют между собой группы по три цифры,...

Определить количество вхождений S3 вхождений в строку S1
Здравствуйте. Помогите, пожалуйста, решить задачу: Ввести строку S1 c помощью оператора readln. Определить ее реальную длину. В строку S2...

Дано натуральное число N. Определить количество цифр в цифровой записи данного числа, которые имеют наименьшее значение. Пример. N = 4548. Количество
помощи прошу) Дано натуральное число N. Определить количество цифр в цифровой записи данного числа, которые имеют наименьшее значение....

4
Модератор
10416 / 5703 / 3401
Регистрация: 17.08.2012
Сообщений: 17,363
13.01.2016, 22:04
Лучший ответ Сообщение было отмечено Igerian как решение

Решение

Значение 10100 не представимо стандартными типами данных паскаля. Следовательно, S вводится в виде строки символов. "Честно" эта задача решается с применением длинной арифметики. Но достаточно будет подсчитать количество вхождений подстроки '2015' в строку. Вот, без проверки корректности ввода:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var s: string;
    n: integer;
begin
  n := 0;
  write('S = ');
  readln(s);
  while pos('2015', s) > 0 do
    begin
      inc(n);
      delete(s, 1, pos('2015', s) + 3)
    end;
  write('n = ', n);
  readln
end.
0
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,059
14.01.2016, 07:22
Cyborg Drone, то-же самое, только короче:
Pascal
1
2
3
4
begin
  var S := ReadLnString('S =');
  WriteLn(S.Length - S.Replace('2015', '###').Length);
end.
P.S. Этот код для PascalABC.NET
0
0 / 0 / 0
Регистрация: 13.01.2016
Сообщений: 6
14.01.2016, 07:46  [ТС]
Цитата Сообщение от Cyborg Drone Посмотреть сообщение
Pascal
7
8
9
10
  while pos('2015', s) > 0 do
    begin
      inc(n);
      delete(s, 1, pos('2015', s) + 3)
Спасибо большое, только вот эту часть кода понять не могу :/
0
Модератор
10416 / 5703 / 3401
Регистрация: 17.08.2012
Сообщений: 17,363
14.01.2016, 08:36
Лучший ответ Сообщение было отмечено Igerian как решение

Решение

Pascal
7
8
9
10
11
  while pos('2015', s) > 0 do {цикл, пока в строке есть подстрока}
    begin
      inc(n); {очередная подстрока найдена, увеличиваем счётчик вхождений на 1}
      delete(s, 1, pos('2015', s) + 3) {удаляем начало строки вместе с подстрокой}
    end;
Например:
n=0
строка
2010201503820156

первый проход цикла: найдено
2010201503820156
n=n+1=1
удаляется с позиции 1 по позицию pos('2015', s) + 3
pos('2015',s)+3──┐
pos('2015',s)─┐∙∙│
1─────────┐∙∙∙│∙∙│
∙∙∙∙∙∙∙∙∙∙↓∙∙∙↓∙∙↓
∙∙∙∙∙∙∙∙∙∙2010201503820156
∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙03820156


второй проход цикла: найдено
03820156
n=n+1=2
удаляется с позиции 1 по позицию pos('2015', s) + 3
pos('2015',s)+3──┐
pos('2015',s)─┐∙∙│
1──────────┐∙∙│∙∙│
∙∙∙∙∙∙∙∙∙∙∙↓∙∙↓∙∙↓
∙∙∙∙∙∙∙∙∙∙∙03820156
∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙6


Третий проход цикла: не найдено, выход из цикла.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.01.2016, 08:36
Помогаю со студенческими работами здесь

Дано целое число N — количество цифр и задана каждая из этих цифр. Сформировать число, состоящее из этих цифр, начиная с разряда единиц.
Дано целое число N — количество цифр и задана каждая из этих цифр. Сформировать число, состоящее из этих цифр, начиная с разряда единиц. ...

Ввести число от 0 до 1000. Определить количество цифр в числе
Ввести число от 0 до 1000. Определить количество цифр в числе

Изменяя число i от 1 до n (без пробелов) получить число. Посчитать в нем количество каждых цифр. Посчитать общее число цифр
Дано число n меньше или равно 30 000. Изменяя число i от 1 до n будем записывать получившееся число подряд без пробелов, и получим некое...

Дано целое число А. Определить количество цифр в числе, которые меньше 5
Ребят, помогите решить задачу на паскале(желательно через Repeat): Дано целое число А. Определить количество цифр в числе, которые меньше 5.

Найти количество вхождений цифр в заданную строку
Для каждой цифры 0, 1, ....9 подсчитать количество вхождений в данную строку S. Написать код программы(с комментариями будьте добры)


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru