Составить программу, выводящую простые числа - Turbo Pascal

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

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

Составить программу, определяющую, есть ли среди палиндромов из интервала [10,10000] простые числа, и выводящую их на печать.

Решение задачи: «Составить программу, выводящую простые числа»

textual
Листинг программы
const
  MaxN = 10000;
  
type
  tList = ^rList;
  rList = record
    N : Word;
    X : tList;
  end;
  
var
  First, Last, tmp : tList;
  N, R, count : Word;
  isPrime : Boolean;
 
begin
  New(First); First^.N := 2; First^.X := nil;
  Last := First;
  for N := 3 to MaxN do
    begin
      isPrime := True;
      tmp := First;
      repeat
        isPrime := not(N mod tmp^.N = 0);
        tmp := tmp^.X;
      until (tmp = nil) or not isPrime;
      if isPrime then
        begin
          New(tmp); tmp^.N := N; tmp^.X := nil;
          Last^.X := tmp; Last := tmp;
        end;
    end;
  
  count := 0;
  tmp := First;
  repeat
    N := tmp^.N;
    if N > 9 then
      begin
        R := 0;
        while N > 0 do
          begin
            R := R * 10 + N mod 10; N := N div 10;
          end;
        if tmp^.N = R then
          begin
            inc(count);
            if count = 1 then
              WriteLn('Среди палиндромов простые числа:');
            Write(#32, R);
          end;
      end;
    tmp := tmp^.X;
  until tmp = nil;
  
  if count = 0 then
    Write('Среди палиндромов простых чисел нет.');
  WriteLn;
end.

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

  1. В начале программы объявляются необходимые переменные и создается первый элемент списка.
  2. Затем происходит итерация от 3 до MaxN. На каждой итерации проверяется, является ли число N простым.
  3. Если число N простое, то создается новый элемент списка, копируется значение N в него и увеличивается счетчик.
  4. После завершения итерации проверяется, было ли создано хотя бы одно простое число.
  5. Если было создано хотя бы одно простое число, то выводится сообщение о том, что среди палиндромов есть простые числа.
  6. Затем выводится само простое число.
  7. После этого происходит повторная итерация от 3 до MaxN.
  8. Если на какой-либо итерации находится простое число, то оно копируется в новый элемент списка и увеличивается счетчик.
  9. Повторяется это до тех пор, пока не будет найдено максимальное простое число.
  10. В конце программы выводится сообщение о том, что среди палиндромов простых чисел нет.

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


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

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

7   голосов , оценка 4.286 из 5
Похожие ответы