Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование для начинающих 2011-09-02.pdf
Скачиваний:
45
Добавлен:
09.06.2015
Размер:
576.39 Кб
Скачать

Как всегда при решении задачи методом перебора, следует задуматься, можем ли мы сократить число перебираемых вариантов. Оказывается, можно ограничиться только перебором a и b, а c вычислять по теореме Пифагора c = a2 + b2 . Вычисленное таким образом c может оказаться нецелым, поэтому условие задачи для него проверять все равно необходимо.

MaxC := 25; {Используем параметризацию} MaxAB := trunc(sqrt(MaxC));

for a := 1 to MaxAB do begin

for b := 1 to MaxAB do begin

c := round(sqrt(a * a + b * b)); if a*a+b*b = c*c then

begin

write(a, ' ', b, ' ', c); writeln;

end; end;

end;

Задание 6. Задачи на перебор вариантов

1.Для заданного целого числа проверьте, является ли оно кубом другого целого числа.

2.Задача Ал-Хорезми (ок. 780-850). Разложить число 10 на 2 слагаемых, сумма квадратов которых равна 58.

3.Задача Л. Эйлера. Некий чиновник купил лошадей и быков на сумму 1770 талеров. За каждую лошадь он уплатил по 31 талеру, а за каждого быка по 21 талеру. Сколько лошадей и быков купил чиновник? Используйте прием параметризации, чтобы легче было модифицировать программу при изменении рыночных цен и финансовых возможностей чиновника.

4.Теорема Ферма утверждает, что не существует решения в целых числах уравнения xn + y n = z n при n > 2. Напишите программу, которая проверяла бы это утверждение при заданном n для всех x, y и z меньших 100.

5.Найдите все трехзначные числа, сумма цифр которых равна произведению

цифр.

6.Решите следующие числовые ребусы:

УДАР + УДАР = ДРАКА БУЛОК + БЫЛО = МНОГО КОКА + КОЛА = ВОДА ПОДАЙ - ВОДЫ = ПАША

ТРИ + ТРИ + ТРИ = ДЫРКА, причем (Ы + Ы) / Ы = Ы

Здесь каждая буква взаимнооднозначно соответствует какой-нибудь цифре. Первая цифра числа не может быть нулем.