Автор Тема: Помогите с задачей  (Прочитано 2119 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн oriole

  • Новичок
  • *
  • Сообщений: 22
    • Просмотр профиля
Помогите с задачей
« : 06 Апрель 2010, 00:05:53 »
a, b и с- простые числа. Найти все возможные решения уравнения:
a+b+c+ab+ac+bc=1157

Оффлайн Леонид

  • Глобальный модератор
  • Эксперт
  • *****
  • Сообщений: 6792
    • Просмотр профиля
    • Домашняя страница
Re: Помогите с задачей
« Ответ #1 : 06 Апрель 2010, 06:25:48 »
Предположим, a, b и c - все нечётные. Тогда в ответе получится чётное число.
Значит, одно из чисел (а) = 2.

Пишем простенькую программку, которая выдаёт все подходящие нечётные b и c.
var
  a, b, c: longint;
BEGIN
  clrscr;
  a:=2;
   for b:=0 to 1157 do
    for c:=0 to 1157 do
     begin
      if (odd (b)) and (odd (c)) and (a+b+c+a*b+b*c+a*c=1157) then
      writeln ('b=', b, ', c=', c);
      end;
  writeln ('The end.');
  readln;
END.
Программка выдаёт только 3 и 191. Кстати, они как раз простые.

Получаем 2, 3, 191.

Оффлайн CD_Eater

  • Эксперт
  • ******
  • Сообщений: 1906
    • Просмотр профиля
Re: Помогите с задачей
« Ответ #2 : 06 Апрель 2010, 18:09:13 »
После подстановки a=2 становится ясно, что произведение bc делится на 3   ;)

Оффлайн DronNT

  • Эксперт
  • ******
  • Сообщений: 1818
    • Просмотр профиля
    • E-mail
Re: Помогите с задачей
« Ответ #3 : 06 Апрель 2010, 20:38:35 »
Предположим, a, b и c - все нечётные. Тогда в ответе получится чётное число.
Значит, одно из чисел (а) = 2.

Пишем простенькую программку, которая выдаёт все подходящие нечётные b и c.
var
  a, b, c: longint;
BEGIN
  clrscr;
  a:=2;
   for b:=0 to 1157 do
    for c:=0 to 1157 do
     begin
      if (odd (b)) and (odd (c)) and (a+b+c+a*b+b*c+a*c=1157) then
      writeln ('b=', b, ', c=', c);
      end;
  writeln ('The end.');
  readln;
END.
Программка выдаёт только 3 и 191. Кстати, они как раз простые.

Получаем 2, 3, 191.
Кому простенькая
а кому :wall: