Помощь - Поиск - Пользователи - Календарь
Полная версия: Задача на циклы
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Муся
???Привет! Помогите, пожалуйста, умные люди чайнику решить задачу на циклы.
Задача: Среди чисел 1<=N<=100. Найти все пары чисел для которых их сумма равнялась бы произведению.
Заранее спасибо.
oleg309
Произведению чего?
trminator
2Oleg309: сумма двух чисел должна равняться их произведению

Таких чисел, по-моему, всего одна пара - (2, 2). На всякий случай набросал программу, которая это проверила

Программа, которой я это проверял:
Код

var i, j : integer;
begin
for i:=1 to 100 do
 for j:=1 to 100 do
 if i + j = i * j then writeLn(i,' ',j);
end.


Ее можно неслабо ускорить. Муся, догадайся, как.

А вот та программа, которая тебе нужна:
Код

begin writeLn('2, 2') end.

Красота, правда?  ;D
UtaH
ИМХО имеется в виду сумма и произведение цифр числа. Но тогда та же фигня получается. Или нужно чтобы сумма одного числа равнялась другому и с произведением также? ???
trminator
Нет, по-моему, сказано достаточно понятно: все пары чисел, для которых их сумма равнялась бы [их] произведению. x+y = x*y , где 1<=x, y <= 100

Таких чисел всего два (по крайней мере, среди вещественных)
zx1024
Цитата
Таких чисел всего два (по крайней мере, среди вещественных)

Среди целых (или натуральных).
Среди вещественных таких чисел очень много.
trminator
Опаньки... ошибся, похоже...

Согласен, много. Например: 3.618 и 1.382; 4.732 и 1.268; ...
Можно решить такую систему:
x + y = a
x * y = a

Получить решение, зависящее от a , а потом подставлять разные значения этого самого a. При а >= 4 получаем вещественные значения x, y

Муся, а тебе какие нужны?
Муся
:D Спасибо всем! Теперь сдам зачет по алгоритмизации. А то я даже не знала как подступиться к задаче, а она такая простая оказалась, когд обьяснили. Спасибо! Спасибо! Спасибо!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.