Паскаль. Основы программирования


Задание 4 - часть 2


Поэтому цикл для c должен быть таким:  for c := 1 to 20 do

Программа

 

Program Problem6;

    uses WinCrt;

    var

       a, b, c : integer;

    begin

        writeln('Тройки Пифагоровых чисел из промежутка [1; 20]');

        for a := 1 to 20 do

          for b := 1 to a do

            for c := 1 to 20 do

              if a*a + b*b = c*c then writeln(a, ' ', b, ' ', c)

     end.

Задание 5

1. Составьте программу, которая находит все решения уравнения

 где n - заданное число, из промежутка [2; 100].

2. Найти все натуральные x из промежутка [1; 1000], для которых выражение

 является квадратом натурального числа.

Пример 7. Сколькими способами заданное натуральное число n можно представить в виде суммы двух кубов натуральных чисел:

Перестановка слагаемых нового способа не дает. Операцией возведения в степень 1/3 пользоваться нельзя.

Сразу возникает следующая простая идея составления программы.

Организовать два цикла, один - внешний цикл с переменной i от 1 до n, а второй - внутренний цикл по j, также от 1 до n.

Сущность работы программы будет заключаться в следующем:

первое значение i равно 1, оно умножается трижды само на себя (этим заменяется возведение в 3-ю степень);

затем "перебираются" все значения j от 1 до n, каждое из которых также умножается трижды на себя и складывается со значением i

i
i, т. е. i в кубе;

далее, эта сумма проверяется, равна ли она значению n, если равенство выполняется, тогда счетчик, заведомо определенный в программе увеличивается на 1, а значения i и j можно вывести на экран;

цикл по i продолжается, i принимает второе значение - 2 и снова начинает выполняться внутренний цикл по j от 1 до n и так далее.

Если мы составим программу по этому плану, то она будет иметь два существенных недостатка:

1) проделывается много бесполезной работы - оба цикла организованы от 1 до n и среди них много лишних (достаточно брать значения от 1 до корня кубического из n);

2) программа будет выдавать значения, которые получаются при перестановки слагаемых, например: 2

2
2 + 3
3
3 = 35 и 3
3
3 + 2
2
2 = 35, что является недопустимым по условию задачи.


Начало  Назад  Вперед



Книжный магазин