Создать программу которая выводит на экран простые числа в диапазоне

Содержание

Хотел написать программу, которая выводила бы все простые числа в диапазоне от M до N. При попытке компиляции возникла куча ошибок. Посмотрите пожалуйста, скажите где недочёты?

#include «stdafx.h» #include using namespace std; int main() < int m; int n; int a; cin >> «Input M» >> m >> «n»; cin >> «Input N» >> n >> «n»; metka: for (; m cout system(«pause»); return 0; >
Отслеживать
215k 15 15 золотых знаков 117 117 серебряных знаков 228 228 бронзовых знаков
задан 9 июл 2018 в 17:55
67 2 2 серебряных знака 8 8 бронзовых знаков

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Вам только почему не компилируется, или и почему никуда не годится — тоже?

Читайте также:
Как защитить Ватсап от программ шпионов

Не компилируется, потому что cin предназначен для чтения, а не вывода на экран. Надо так:

cout > m; cout > n;
(m % a = 0)

Тут вы пытаетесь присвоить числу число, а не сравниваете. Надо

(m % a == 0)

После этого она скомпилируется, и тут время вспомнить о моем вопросе — «Вам только почему не компилируется, или и почему никуда не годится — тоже?»

Как найти простые числа от 2 до 100?

Update

Начнем пояснять, почему не годится. Итак, для ЛЮБОГО числа m , когда мы крутанем внутренний цикл, для как минимум a==m получится m%a == 0 , и переход на «наша песня хороша, начинай сначала». Т.е. с теми же m и n начинаем те же действия. Вечный цикл.

Да и проверять на делимость, последовательно ДЕЛЯ НА ВСЕ подряд числа до самого этого числа — неверно. Как минимум, неэффективно. Зачем проверять, делится ли, скажем, 100 на 30? Если бы делилось, то понятно, что делилось бы и на число порядка 100/30 🙂 — т.е. проверять достаточно до корня квадратного из проверяемого числа.

Т.е. цикл вывода должен иметь вид примерно

for(int i = m; i >

где isPrime(i) — проверка на простоту.

Вариант ваш (вернее, что вы хотели написать):

bool isPrime(int n)

Как минимум, можно проверять только до корня, т.е.

bool isPrime(int n)

Можно сразу уполовинить цикл, проверяя делимость на 2 отдельно, а в цикле — только на нечетные значения, но это уж вы самостоятельно 🙂

Источник: ru.stackoverflow.com

Создать программу которая выводит на экран простые числа в диапазоне

nastya977

July 2022 1 20 Report

Создать программу, которая выводит на экран простые числа в диапазоне от 2 до 1000. (Число называется простым, если оно делится только на 1 и на само себя без остатка; причем числа 1 и 2 простыми не считаются).

Читайте также:
Мили аэрофлот какие авиакомпании участвуют в программе

Решето Эратосфена – алгоритм определения простых чисел. Решение задачи на Python

Answers

procedure del(i:integer; var a:integer);
var j :integer;
begin
a:=0;
for j:=1 to i do
if i mod j = 0 then inc (a)
end;

begin
writeln;
for i:=2 to 1000 do
begin
del(i,a);
if a=2 then write (i, ‘ ‘);
end;
end.

Источник: scholar.tips

Создать программу которая выводит на экран простые числа в диапазоне

Создать программу, которая выводит на экран простые числа в диапазоне от 2 до 1000. (Число называется простым, если оно делится только на 1 и на само себя без остатка; причем числа 1 и 2 простыми не считаются).

Комментарии

а почему у тебя 2 это не простое число?

Ответ проверен экспертом
5 (1 оценка)

sellsaccount

sellsaccount 9 лет назад
Светило науки — 168 ответов — 0 раз оказано помощи

var a, i:integer;

procedure del(i:integer; var a:integer);
var j :integer;
begin
a:=0;
for j:=1 to i do
if i mod j = 0 then inc (a)
end;

begin
writeln;
for i:=2 to 1000 do
begin
del(i,a);
if a=2 then write (i, ‘ ‘);
end;
end.

Источник: vashurok.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru