Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Пожалуйста, помогите разобраться в решении ЕГЭшной задачи на языке pascal (есть скрины задач).

Александр Мортиросов Знаток (342), на голосовании 3 года назад
Не могу понять что означает строка for i:=1 to 4 do s := s + d[i] * d[10 − i]; ( в задаче нужно найти кол-во пар, с такой суммой, которая была бы кратна 10) а точнее не могу понять как определить до какого " i " нужно поставить. в первом случае, с 1 до 4го,
а во втором случае уже до 3го (2 скрин)
for i:=1 to 3 do s := s + d[i] * d[8−i]; (нужно найти кол-во пар с суммой которая была бы кратна 8)
в третьем снова до 4го (3 скрин)
for i:=1 to 4 do s := s + d[i]*d[9-i]; (нужно найти кол-во пар с суммой которая была бы кратна 9)
Вот например мне нужно будет определить кол-во пар где сумма будет кратна 120, до какой "i" мне ставить?
(на скринах полное решение задачи в самом низу).
Голосование за лучший ответ
Иван Сигаев Искусственный Интеллект (150195) 3 года назад
for i:=1 to 4 do s := s + d[i] * d[10 − i]; ( в задаче нужно найти сумму 2 элементов которая была бы кратна 10)

Данный код решает совершенно другую задачу
итд
Соответственно, пытаясь по этой-же схеме решать задание "где сумма будет кратна 120" - получишь такой-же неверный код
Александр МортиросовЗнаток (342) 3 года назад
неправильно сформулировал нужно найти кол-во пар с такой суммой которая была бы кратна 10
Иван Сигаев Искусственный Интеллект (150195) В твоих-же скринах все полностью написано Там задача решается не тупым перебором, а создается массив "остатков", после чего просто делается дополнительный перебор для определения количества Для 120 нужно будет логику полностью переделывать, поскольку в отличии от 10 = 2*5, 120=2*2*2*3*5 (делителей гораздо больше)
Похожие вопросы