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

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

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

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

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

textual
Листинг программы
  1. const
  2.   MaxN = 10000;
  3.  
  4. type
  5.   tList = ^rList;
  6.   rList = record
  7.     N : Word;
  8.     X : tList;
  9.   end;
  10.  
  11. var
  12.   First, Last, tmp : tList;
  13.   N, R, count : Word;
  14.   isPrime : Boolean;
  15.  
  16. begin
  17.   New(First); First^.N := 2; First^.X := nil;
  18.   Last := First;
  19.   for N := 3 to MaxN do
  20.     begin
  21.       isPrime := True;
  22.       tmp := First;
  23.       repeat
  24.         isPrime := not(N mod tmp^.N = 0);
  25.         tmp := tmp^.X;
  26.       until (tmp = nil) or not isPrime;
  27.       if isPrime then
  28.         begin
  29.           New(tmp); tmp^.N := N; tmp^.X := nil;
  30.           Last^.X := tmp; Last := tmp;
  31.         end;
  32.     end;
  33.  
  34.   count := 0;
  35.   tmp := First;
  36.   repeat
  37.     N := tmp^.N;
  38.     if N > 9 then
  39.       begin
  40.         R := 0;
  41.         while N > 0 do
  42.           begin
  43.             R := R * 10 + N mod 10; N := N div 10;
  44.           end;
  45.         if tmp^.N = R then
  46.           begin
  47.             inc(count);
  48.             if count = 1 then
  49.               WriteLn('Среди палиндромов простые числа:');
  50.             Write(#32, R);
  51.           end;
  52.       end;
  53.     tmp := tmp^.X;
  54.   until tmp = nil;
  55.  
  56.   if count = 0 then
  57.     Write('Среди палиндромов простых чисел нет.');
  58.   WriteLn;
  59. end.

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

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

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


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

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

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

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

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

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