В возрастающем порядке напечатайте все целые числа - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Помогите решить, заранее спасибо) В возрастающем порядке напечатать целые числа из диапазона 1.. 10000, представимые в виде n2 + m2, где n, m>=0

Решение задачи: «В возрастающем порядке напечатайте все целые числа»

textual
Листинг программы
  1. var
  2.   a: array [1..10000] of Boolean;
  3.   m, m2, n, i: Integer;
  4. begin
  5.   for m:=1 to Trunc(SqRt(High(a))) do begin
  6.     m2:=Sqr(m); n:=1;
  7.     repeat
  8.       i:=m2+Sqr(n); Inc(n);
  9.       if i<=High(a) then a[i]:=True else Break;
  10.     until False;
  11.   end;
  12.   for i:=Low(a) to High(a) do if a[i] then Write(' ',i); WriteLn;
  13. end.

Объяснение кода листинга программы

  1. Создается переменная a, которая представляет собой массив булевых значений размером от 1 до 10000.
  2. Затем определяются три переменные m, m2 и n, которые будут использоваться в цикле. Переменная m инициализируется значением 1, а m2 и n устанавливаются равными квадрату m.
  3. Далее идет цикл, который выполняется для каждого значения m в диапазоне от 1 до округленного вверх значения корня из максимального значения массива a. Внутри цикла переменные m2 и n пересчитываются как квадрат m и значение n устанавливается равным 1.
  4. Цикл повторяется, пока значение i, вычисленное как m2 + Sqr(n), не станет меньше или равно максимальному значению массива a. Если значение i попадает в диапазон массива a, то соответствующий элемент массива устанавливается в значение True. Если это не происходит, цикл прерывается с помощью оператора Break.
  5. После завершения внутреннего цикла происходит внешний цикл, который проходит по всем элементам массива a от наименьшего до наибольшего значения. Если значение элемента массива равно True, то перед ним выводится пробел.
  6. В конце программы выводится символ новой строки с помощью функции WriteLn.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.6 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы