Выбрать рулон содержащий максимальное количество счастливых билетов - Pascal

Узнай цену своей работы

Формулировка задачи:

Напишите программу, которая поможет выбрать рулон содержащий максимальное количество счастливых билетов (гарантируется, рулон с максимальным кол-вом счастливых билетов только один)

Входные данные

Первая строка входного файла INPUt.TXT содержит натуральное число N (1<=N<=10)-количество рулонов с билетами. Вторая строка содержит натуральное число K (10<=K<=10000)-количество билетов в одном рулоне. Треться строка содержит N целых чисел Xi ( 100000<=Xi<=989999)-номер первого билета в i-ом рулоне

Выходные файлы

В выходной файл OUTPUT.TXT выведите номер рулона, количество счастливых билетов в котором максимально.

Решение задачи: «Выбрать рулон содержащий максимальное количество счастливых билетов»

textual
Листинг программы
var
  i,j,k,n,l,x:dword;
begin
  read(n,k);
  for n:=1 to n do begin
    read(i);
    j:=0;
    for i:=i to i+k-1 do
       if i div 1000 mod 10+i div 1000 mod 100 div 10+i div 1000 div 100=
          i mod 10+i mod 100 div 10+i mod 1000 div 100 then j:=j+1;
     if x<j then begin x:=j;l:=n;end;
  end;
  writeln(l);
end.

Объяснение кода листинга программы

  1. Объявление переменных:
    • i, j, k, n, l, x - целочисленные переменные типа dword.
  2. Ввод значений переменных:
    • n - количество рулонов билетов
    • k - количество билетов в одном рулоне
  3. Цикл ввода билетов:
    • Читается значение одного билета i
    • Переменная j устанавливается в 0 для подсчета количества счастливых билетов в рулоне
  4. Подсчет количества счастливых билетов:
    • Для каждого билета в рулоне (от i до i+k-1) вычисляется сумма цифр слева от разделителя тысяч, сотен и десятков: i div 1000 mod 10, i div 1000 mod 100 div 10, i div 1000 div 100.
    • Затем вычисляется сумма цифр справа от разделителя: i mod 10, i mod 100 div 10, i mod 1000 div 100.
    • Если сумма первых трех цифр равна сумме вторых трех цифр, увеличиваем переменную j на 1.
  5. Сравнение количества счастливых билетов в рулонах:
    • Если количество счастливых билетов в текущем рулоне j больше, чем значение переменной x, то обновляем x и l соответственно.
  6. Вывод номера рулона с максимальным количеством счастливых билетов:
    • Выводится номер рулона l, содержащего максимальное количество счастливых билетов.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.1 из 5
Похожие ответы