М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
натали19852
натали19852
29.03.2020 15:06 •  Информатика

Напишите программу, которая в последовательности натуральных чисел определяет сумму всех чисел, кратных 3 и оканчивающихся на 4. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 — признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа не превышают 30000. Программа должна вывести одно число: сумму всех натуральных чисел, кратных 3 и оканчивающихся на 4. ​

👇
Ответ:
Vika140220081
Vika140220081
29.03.2020

program aver;

var s, n, k :integer;

begin

n:= 1; // значение числа для входа в цикл while

s:= 0; // сумма чисел, удовлетворяющих условию

k:= 0; //счетчик чисел

writeln ('Введите серию чисел,');

writeln('заканчивая ввод каждого числа нажатием на Enter');

while (n <> 0) and (k < 1000) do

begin

read(n);

if n > 30000 then

begin

writeln('Число не должно быть больше 30000');

read(n);

end;

if (n mod 10 = 4) and (n mod 6 = 0) then s:= s + n;

k:= k + 1;

end;

writeln('сумма = ', s)

end.

4,7(72 оценок)
Ответ:

summ = 0

count = 0

while 1:

   a = int(input())

   if count == 1000: break

   elif a == 0:

       break

   elif a > 30000:

       continue

   count += 1

   if a % 3 == 0 and str(a)[-1] == "4":

       summ += a

print(summ)

4,6(71 оценок)
Открыть все ответы
Ответ:
andreuss2006
andreuss2006
29.03.2020
Думаю, логика у нас здесь будет такая: нужно разложить данные три числа на простые сомножители. Получится:
132 = 2 * 2 * 3 * 11
106 = 2 * 53
134 = 2 * 67
Что у них есть общего - то можно откинуть, потому что количество кругов будет при общих сомножителях делиться без остатка. Собрать в ответ нужно следующее:
от первого - 2 * 2 * 3 * 11
от второго - 53 (двойку не берём, потому что она уже взята с первым)
от третьего - 67 (двойку опять не берём)

Получается: 2 * 2 * 3 * 11 * 53 * 67 = 468732 секунды. Это, как я думаю, ответ.

При этом (чисто для сведения), до момента встречи:
первый намотает 3551 круг
второй - 4422 круга
третий - 3498 кругов.
4,4(47 оценок)
Ответ:
olenkakireeva1
olenkakireeva1
29.03.2020
Думаю, логика у нас здесь будет такая: нужно разложить данные три числа на простые сомножители. Получится:
132 = 2 * 2 * 3 * 11
106 = 2 * 53
134 = 2 * 67
Что у них есть общего - то можно откинуть, потому что количество кругов будет при общих сомножителях делиться без остатка. Собрать в ответ нужно следующее:
от первого - 2 * 2 * 3 * 11
от второго - 53 (двойку не берём, потому что она уже взята с первым)
от третьего - 67 (двойку опять не берём)

Получается: 2 * 2 * 3 * 11 * 53 * 67 = 468732 секунды. Это, как я думаю, ответ.

При этом (чисто для сведения), до момента встречи:
первый намотает 3551 круг
второй - 4422 круга
третий - 3498 кругов.
4,4(53 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ