Составить программу, выводящую простые числа - 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.
Объяснение кода листинга программы
- В начале программы объявляются необходимые переменные и создается первый элемент списка.
- Затем происходит итерация от 3 до MaxN. На каждой итерации проверяется, является ли число N простым.
- Если число N простое, то создается новый элемент списка, копируется значение N в него и увеличивается счетчик.
- После завершения итерации проверяется, было ли создано хотя бы одно простое число.
- Если было создано хотя бы одно простое число, то выводится сообщение о том, что среди палиндромов есть простые числа.
- Затем выводится само простое число.
- После этого происходит повторная итерация от 3 до MaxN.
- Если на какой-либо итерации находится простое число, то оно копируется в новый элемент списка и увеличивается счетчик.
- Повторяется это до тех пор, пока не будет найдено максимальное простое число.
- В конце программы выводится сообщение о том, что среди палиндромов простых чисел нет.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д