Вопрос задан 30.10.2018 в 01:17. Предмет Информатика. Спрашивает Дмитриева Настя.

Файлы.pascal. Дано натуральное число n. Записать в текстовый файл n простых чисел начиная с 2.

0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Zelini Monika.
Uses
    System.Collections.Generic,
    System;

var
    simple: List<integer> := new List<integer>;
    i, n, p: integer;
    m: longint;

begin
    read(n);
    for i := 2 to n do 
    begin
        m := 1;
        foreach s: integer in simple do
            m := m * i mod s;
        if m > 0 then begin
            simple.Add(i);
//            write(i, ' ');
        end;
    end;
    writeln();
    
    foreach s: integer in simple do 
    begin
        if Math.Pow(2, s) - 1 <= longint.MaxValue then begin
            m := round(Math.Pow(2, s) - 1);
            if (m <= n) and simple.Contains(m) then
                write(m, ' ');
        end;
    end;
end.
0 0
Отвечает Киселев Максим.
 function prost (x : integer) : boolean; 
var   
i : integer;   
r : boolean; 
begin   
i := 2;   
r := true;   
While (i <= x div 2) and (r) do   
begin     
if x mod i = 0 then     
r := false;     
i := i +1;   
end;   
Result := r; 
end;  

var   
i,n : integer;   
t : text; 
begin 
readln (n);   
assign (t,'file.txt'); 
rewrite (t);   
for i := 2 to n do   
begin     
if prost(i) then     
write (t,i+' ');   
end; 
close (t);   
end.
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Чтобы решить эту задачу, необходимо написать алгоритм, который определит, является ли число простым, и записывать простые числа в текстовый файл.

Вот пример решения на языке Pascal:

1. Открываем файл для записи результата: ``` var outputFile: TextFile; AssignFile(outputFile, 'output.txt'); rewrite(outputFile); ```

2. Запрашиваем у пользователя натуральное число n: ``` var n, count, num: Integer;

Write('Введите натуральное число n: '); Readln(n); ```

3. Создаем процедуру, которая будет проверять, является ли число простым. Воспользуемся методом решета Эратосфена. Создаем массив primes с размером n, заполняем его единицами и обнуляем значения для непростых чисел: ``` procedure FindPrimes(n: Integer); var isPrime: array[2..n] of Boolean; i, j: Integer;

begin FillChar(isPrime, SizeOf(isPrime), True); for i := 2 to Trunc(Sqrt(n)) do begin if isPrime[i] then begin j := i * i; while j <= n do begin isPrime[j] := False; j := j + i; end; end; end; for i := 2 to n do begin if isPrime[i] then Write(outputFile, i, ' '); end; end; ```

4. Вызываем процедуру FindPrimes с аргументом n, чтобы найти простые числа и записать их в файл: ``` FindPrimes(n); ```

5. Закрываем файл: ``` CloseFile(outputFile); ```

Полный код программы на языке Pascal:

``` program primeNumbers;

var outputFile: TextFile; n, count, num: Integer;

procedure FindPrimes(n: Integer); var isPrime: array[2..n] of Boolean; i, j: Integer;

begin FillChar(isPrime, SizeOf(isPrime), True); for i := 2 to Trunc(Sqrt(n)) do begin if isPrime[i] then begin j := i * i; while j <= n do begin isPrime[j] := False; j := j + i; end; end; end; for i := 2 to n do begin if isPrime[i] then Write(outputFile, i, ' '); end; end;

begin AssignFile(outputFile, 'output.txt'); rewrite(outputFile); Write('Введите натуральное число n: '); Readln(n); FindPrimes(n); CloseFile(outputFile); end. ```

После запуска программы она попросит ввести натуральное число n. Затем она найдет и запишет n простых чисел (начиная с 2) в текстовый файл "output.txt". Каждое число будет разделено пробелом.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос