Записать в текстовый файл все простые числа до заданного числа - Free Pascal

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

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

1. Дано целое число от 2 до 1000. Программа определяет и записывает в текстовый файл все простые числа, находящиеся в диапазоне от двух до числа . Простые числа искать методом «решета Эратосфена». Суть метода: выписываются все целые положительные числа, больше единицы до числа . Выбирается первое из них – число 2. Далее вычеркиваются все числа, кратные числу 2. Затем берется следующее из тех чисел, которые не вычеркнуты. Это число 3. Вычеркиваются все числа, кратные числу 3. Конечно, вычеркиваются все числа, большие числа 3. Само это число не вычеркивается. В конце остаются только простые числа и нули. Нули – это вычеркнутые числа. В файл записываются только ненулевые числа.

Решение задачи: «Записать в текстовый файл все простые числа до заданного числа»

textual
Листинг программы
program pr;
 
const
  n = 1000;
 
var
  i, x: integer; a: array[1..32000] of integer;
  f: text;
 
begin
  assign(f, 'c:\gff.txt');
  rewrite(f);
  for i := 2 to (n + 1) div 2 do 
  begin
    x := i * 2;
    while x <= n do 
    begin
      a[x] := 1;
      x := x + i;
    end;
    x := 0;
  end;
  for i := 1 to n do
    if a[i] = 0 then write(i, ' ');
  for i := 1 to n do
    if a[i] = 0 then write(f, i, ' ');
  close(f);
end.

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

В данном коде решается задача поиска и записи в файл всех простых чисел до заданного числа N (в данном случае до 1000).

  1. Создаётся файл с помощью функции Assign(f, 'c:\gff.txt'), где f — переменная-указатель на файл, а 'c:\gff.txt' — строка с именем файла, который будет записан.
  2. С помощью функции Rewrite(f, n) открывается файл на запись.
  3. В основной цикл, который выполняется для всех чисел от 2 до (N+1)/2, входят следующие действия: — переменной x присваивается значение i*2; — в цикле while x<=N выполняется: — переменная a[x] приводится к единице; — значение x увеличивается на i; — значение x сбрасывается до 0.
  4. Два вложенных цикла проверяют, является ли число i простым (если значение переменной a[i] равно 0) и выводят его на экран (второй вложенный цикл) или в файл (внешний цикл).
  5. Закрытие файла с помощью функции Close(f).

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


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

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

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