Предмет: Информатика, автор: madmonn

Перед вами фрагмент программы. Определите, при каком значении i переменная s приняла значение 424 (div - операция целочисленного деления, mod - операция вычисления остатка от деления). Помогите пожалуйста, даю 100 баллов ... плиззз

Приложения:

madmonn: Спасибо большое за ваш труд, я это очень ценю. Не знаю как так вышло, но я серьёзно дала 100 баллов. Наверное это предложение гонит (((
madmonn: Кстати, и у меня тоже была такая ситуация. Думаю, это не моя вина. Добрый вечер!
mdeedimash: Каков будет ответ.

Ответы

Автор ответа: BobbyFresnel
1

Ответ:

38

Объяснение:

Рассмотрим приведенный фрагмент кода. Имеется цикл, перебирающий натуральные значения i от 1 до 100, При каждом проходе по циклу проверяется условие. Если остаток от деления i на два нулевой, либо результат целочисленного деления i на 5 равен 4, то некоторое k увеличивается на единицу, а некотрое s увеличивается на i. Иными словами, k будет увеличено на количество i, удовлетворяющих условию, а s - на сумму таких i.

В условии требуется указать значение i, при котором s примет значение 424. Постановка вопроса некорректная, потому что мы не знаем, чему s равнялось до входа в цикл. Если, к примеру s = 1000, то оно никогда не стнет равно 424. Так что либо пишем, что решить задачу нельзя, либо будем вынуждены самостоятельно сделать вывод о том, чему s было равно до входа в цикл. Вот что значит использовать в программе неиницализированные переменные! С k - там ладно, на самом деле k можно вообще не рассматривать, потому что оно ни на что не влияет. Забываем про существование k.

Если хотим решать задачу дальше, надо принудительно назначить s исходное значение.  Пусть s = 0 (скорее всего, именно это и должны были сделать, раз накапливают сумму).

Какие i пройдут отбор (и попадуи в сумму)? Во-первых, все четные (2, 4, 6, .. 100, поскольку именно они дают нулевой остаток при делении на 2. И во-вторых те, которые дают 4 при целочисленном делении делении на 5 (20, 21, 22, 23, 24). Значения 20, 22, и 24 и так пройдут, потому что четные. А вот 21 и 23 добавятся к списку четных.

Мы можем изменить поставленный вопрос. Надо найти, при каком значении i решается уравнение

2+4+6+... +20+21+22+23+24+26... +i = 424

Перенесем в правую часть слагаемые 21 и 23, тогда в левой части останутся только четные слагаемые.

2+4+6+...+i = 380

Теперь в левой части сумма членов арифметической прогрессии с начальным членом а₀ = 2 и разностью d = 2.

Такая сумма находится по формуле S = (2а₀ + d(n-1)) × n / 2. Подставим наши значения и решим уравнение отноcительно n - числа членов прогрессии.

380 = (2×2 + 2(n-1)) × n / 2

Сократиv в правой части числитель и знаменатель на 2 и раскроем скобки 380 = (2 + n - 1) × n или n(n+1) = 380

Можно раскрыть скобки и решить квадратное уравнение

n² + n - 380 = 0.

Можно решить задачу подбором - найти два множителя, отличающихся на единицу, произведение которых дает 380. Поскольку

19² = 361, 20² = 400, и 361 < 380 < 400, лишь 19 может быть решением. Проверим. 19×20 = 380. Отлично.

Итак наш четный ряд содержит 19 членов. Чтобы получить 19 четных чисел, нужно от 1 пройти еще 19 нечетных, всего 19+ 19 = 38.

Это и есть искомое значение i.

Похожие вопросы
Предмет: Алгебра, автор: jwkdkdiwndkwn