Вопрос задан 03.05.2021 в 17:01. Предмет Информатика. Спрашивает Беркут Александр.

Напишите программу, которая выводит все простые числа в диапазоне от 2 до N ( N заранее

неизвестно). Входные данные Входная строка содержит целое число N . Выходные данные Программа должна вывести все простые числа в диапазоне от 2 до N в одну строку, разделив их пробелами. Примеры входные данные 20 выходные данные 2 3 5 7 11 13 17 19
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Смоляров Никита.
Var
A,N,d:integer;
Begin
Write('N = ');ReadLn(N);
For N:= 2 to N do
    Begin
    d:=0;
    A:=2;
    Repeat
    if N mod A = 0 then d:=d+1;
    A:=A+1
    Until A>Sqrt(N)+1;
    if d = 0 then Write(N,' ')
    End
End.
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для проверки, является ли число простым, нам нужно перебрать все числа от 2 до корня из этого числа и проверить, делится ли число нацело на каждое из них. Если число делится на какое-то из чисел без остатка, то оно не является простым. Если число не делится нацело ни на одно из чисел, то оно простое.

Вот программа на языке Python, которая реализует этот алгоритм:

python
import math # Получаем входные данные n = int(input()) # Изначально предполагаем, что все числа простые is_prime = [True] * (n+1) # Очевидно, что 0 и 1 не являются простыми числами is_prime[0] = False is_prime[1] = False # Перебираем все числа от 2 до sqrt(n) for i in range(2, int(math.sqrt(n))+1): # Если число i является простым, то помечаем как простое все его кратные числа if is_prime[i]: for j in range(i*i, n+1, i): is_prime[j] = False # Выводим все простые числа в диапазоне от 2 до n for i in range(2, n+1): if is_prime[i]: print(i, end=' ')

Пример работы программы:

Входные данные: 20 Выходные данные: 2 3 5 7 11 13 17 19
0 0

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

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

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