Из условия нам известно, что ввод завершается числом ноль. Информация о количестве чисел требуется только если их запоминать в массиве, но у нас однопроходный алгоритм, массив не нужен, поэтому про "1000 чисел" благополучно забываем. Числа целые, и по модулю не превышают 30 000, следовательно им надо отводить двухбайтный тип integer, в в котором диапазон представления чисел [-32 768 ; 32 767]. "Нечетные числа, кратные трем" - это такие, у которых остаток от деления на два ненулевой, а остаток от деления на три нулевой. Поскольку числа целые, то и деление, конечно же, целочисленное. Длина последовательности n - это просто счетчик количества прохождений цикла за вычетом единицы, потому что последний проход по циклу будет при вводе нуля, а его учитывать не надо. В другом счетчике k мы накапливаем количество чисел, для которых выполнилось рассмотренное выше условие "нечетные числа, кратные трем".
var n,k,m: integer; begin Writeln('Вводите целые числа, для окончания введите 0'); n:=0; k:=0; repeat Read(m); Inc(n); if (m mod 2 <> 0) and (m mod 3 = 0) then Inc(k) until m=0; Writeln('Введено чисел- ',n-1); Writeln('Нечетных, кратных трем- ',k) end.
Тестовое решение: Вводите целые числа, для окончания введите 0 -5 12 8 27 -18 14 -33 7 0 Введено чисел- 8 Нечетных, кратных трем- 2
Python 3.5: a, b, c, d = list(map(float, input().split())) print(False if (c == d) else ((a + b + c + d)/(c - d)).is_integer())
Сначала вводим 4 вещественных числа a, b, c, d. Если c = d, то ответ False - частное будет нехорошим, поскольку в знаменателе будет 0. Если c не равно d, проверяем при встроенной функции is_integer(), что (a + b + c + d)/(c - d) - целое число.
Если a, b, c, d - целые, то float в решении можно заменить на int, а проверку при на проверку, что остаток от деления равен нулю, (a + b + c + d) % (c - d) == 0.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку