Вопрос задан 23.03.2019 в 09:06. Предмет Информатика. Спрашивает Белов Егор.

В кафе продается мороженое по 3 или по 5 шариков в порции. Определить, можно ли купить K шариков

мороженного. Входные данные: Во входном потоке в первой строке задано натуральное число К (K <= 1000) Выходные данные: Вывести YES или NO. Пример входного файла (input.txt): 2
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Лямина Елена.
   x: - входное число, целое
   а: - целое
шаг 1.
   x - делится на 5 ?
   если да то ответ YES, выход
шаг 2.
   а: = x-5*целое (х/5)
шаг 3
   a - делится на 3 ?
   если да то ответ YES, выход
шаг 4
   a:=a+5
шаг 5
   a - больше чем х ?
   если да то  ответ NО, выход
переход на шаг 3










0 0
Отвечает Ахметов Ахат.
1. Решение для сомневающихся и привыкших писать программы безмозгло "в лоб"

var
  k, p, q: integer;
  flag: boolean;
  f:Text

begin
  Assign(f,'input.txt');
  Reset(f);
  read(f,k);
  Close(f);
  case k of
    1, 2, 4, 7: writeln('NO');
    3, 5: writeln('YES');
  else
    q := k mod 5;
    if (q = 0) or (k = 3) then writeln('YES')
    else
    begin
      q := (k div 5);
      flag := false;
      while (not flag) and (q > 0) do
      begin
        p := k - 5 * q;
        if p mod 3 = 0 then
        begin
          writeln('YES');
          flag := true
        end;
        q := q - 1
      end;
      if (not flag) then writeln('NO')
    end
  end
end.

2. Решение в соответствии с алгоритмом, приведенным в комментарии к вопросу.

const
  Kno = [1, 2, 4, 7];

var
  k: integer;
  f:Text

begin
  Assign(f,'input.txt');
  Reset(f);
  read(f,k);
  Close(f);
  if k in Kno then writeln('NO')
  else writeln('YES')
end.


0 0

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

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

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