Напишите программу, которая в последовательности целых чисел определяет количество...

0 голосов
214 просмотров

Напишите программу, которая в последовательности целых чисел определяет количество нечётных чисел, кратных 3. Программа получает на вход целые числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000. Программа должна вывести два числа: длину последовательности (завершающий 0 не учитывается) и количество нечётных чисел, кратных 3.Программа должна быть работающей


Информатика (315 баллов) | 214 просмотров
Дан 1 ответ
0 голосов

Ответ:

  • var i, c, n: smallint;
  • begin
  •   repeat
  •       readln(i);
  •       c += 1;
  •       if (i mod 2 = 1) and (i mod 3 = 0) and (i<>0) then n += 1;
  •   until i = 0;
  •   c := c - 1;
  •   writeln('Длина: ', c);
  •   writeln('Количество: ', n);
  • end.

Использование smallint связано с тем, что по условию введённые числа по модулю не превышают 30 000. У smallint диапазон значений от -32 768 до 32 767, что оптимально для этой задачи.

Пример работы:


image
(3.7k баллов)
0

А какую ошибку выдаёт?

0

подчеркивает repeat и пишет неожиданный символ

0

Да, я вспомнил, это из-за кодировки текста znanija. Поудаляйте первые пробелы (которые на самом деле не пробелы) перед каждой строчкой (если они есть).

0

Должно получится так:
var i, c, n: smallint;
begin
repeat
    readln(i);
    c += 1;
    if (i mod 2 = 1) and (i mod 3 = 0) and (i<>0) then n += 1;
until i = 0;
c := c - 1;
writeln('Длина: ', c);
writeln('Количество: ', n);
end.

0

Ха, опять вставила :D

0

Вообщем удалите пробелы в начале строчек, всё заработает. Ошибка не моя, это проблемы этого сайта (при копировании от сюда).

0

Вот, написал в песочнице, оттуда можете скопировать (да и проверить, впрочем): onlinegdb.com/B1e-buWsI

0

да все работает,большое спасибо

0

а можно спросить насчет другого задания ,просто тоже не могу решить

0

Решил.