|
1 / 1 / 0
Регистрация: 23.10.2016
Сообщений: 259
|
|
Определить, является ли заданное натуральное число простым07.01.2017, 18:35. Показов 5898. Ответов 74
Метки нет (Все метки)
Определить, является ли заданное натуральное число простым.
Выходные данные: Вывести YES или NO. Ввод 29 Вывод YES
0
|
|
| 07.01.2017, 18:35 | |
|
Ответы с готовыми решениями:
74
Определить, является ли заданное натуральное число простым Определить, является ли заданное натуральное число простым Рекурсия: определить, является ли заданное натуральное число простым |
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
|
| 06.10.2022, 21:01 | |
|
Если ты говоришь о функции main, то ее вызывает операционная система. И иногда по возврату она можеть судить об успешности выполнения. Но ее пути неисповедимы. Поэтому на всякий случай мы возвращаем 0.
0
|
|
|
1 / 1 / 0
Регистрация: 22.09.2022
Сообщений: 45
|
|
| 06.10.2022, 21:10 | |
|
Без команды return 0 мой код понимает простое это число или нет ввёл пользователь, система выдаёт мне столько значений какое число я ввёл. Допустим ввёл я число 5, прога напишет что это число prime, но она так же мне ещё 4 примера выдаст, хотя мне нужен ответ по одному значению 5 в данном случае. Если я пишу команды return 0 после cout, то все окей. Я так понимаю в моем коде без return 0 не обойтись. Объясните пожалуйста, почему в моем приме без return 0 не обойтись и почему именно 0?
0
|
|
|
737 / 704 / 110
Регистрация: 29.05.2015
Сообщений: 4,309
|
|||||||||||
| 06.10.2022, 21:48 | |||||||||||
|
Команда return 0 прекращает выполнение программы и соответственно выполнение цикла. Поэтому в цикле нужно проверять только на не-простоту, и выдавать сообщение с завершением программы (цикла). А сообщение, что число простое - выдавать только если весь цикл пройден и делителей не найдено.
В вашем случае, как программа написана, так она и работает. Она так и будет выдавать ответы для каждого i, пока не выполнится условие остановки цикла i * i <= n.
Именно return 0 нужно потому, что ваша основная выполняемая функция (тело программы) объявлена целочисленной int main {}, и должна вернуть целое число. Обычно при штатном окончании программы возвращается 0, а при возникновении ошибки - код ошибки.
0
|
|||||||||||
|
1 / 1 / 0
Регистрация: 22.09.2022
Сообщений: 45
|
|
| 06.10.2022, 21:50 | |
|
Благодарю за объяснение! Все понятно. А если правильный код переоборудовать под поиск всех простых чисел до заданного, нужно просто добавить условную конструкцию или там глобально нужно поменять код?
0
|
|
|
737 / 704 / 110
Регистрация: 29.05.2015
Сообщений: 4,309
|
||||||
| 06.10.2022, 22:44 | ||||||
|
Нужно добавить ещё один цикл, который будет перебирать переменные, которые в свою очередь будут проверяться на простоту. Саму проверку на простоту при этом лучше оформить в виде функции, которая будет возвращать результат проверки false-true. как-то так:
0
|
||||||
|
1 / 1 / 0
Регистрация: 22.09.2022
Сообщений: 45
|
|
| 06.10.2022, 23:06 | |
|
Спасибо.
0
|
|
|
1 / 1 / 0
Регистрация: 22.09.2022
Сообщений: 45
|
|
| 07.10.2022, 21:48 | |
|
alexu_007, только в коде который вы прислали есть какая-то неточность. Если ввести например число 49, то прога выдаст is prime.
Добавлено через 3 часа 53 минуты Дело мне кажется в условии if (n % i == 0) 49 под это условие не подходит, как и некоторые другие не простые числа.
0
|
|
|
Вездепух
13207 / 6841 / 1823
Регистрация: 18.10.2014
Сообщений: 17,304
|
||||
| 08.10.2022, 05:23 | ||||
int main() НЕ нужно писать return 0. Функция main и сама вернет 0, без вашего return 0.for ... else? Что это за "правильная" конструкция такая?
0
|
||||
|
1 / 1 / 0
Регистрация: 22.09.2022
Сообщений: 45
|
|
| 08.10.2022, 09:31 | |
|
TheCalligrapher, я обратил внимание, что else находиться за пределами компаунд стейтмента for и запихнул его туда. На return 0 прога не ругалась и дала спокойно мне этот код скомпилять. Но проблема в том, что код не корректно работает. Если убрать у оператора return значение 0, то компилятор начинает ругаться. Пишет 'main': function must return a value. Но в то же время вы говорите, что данный оператор пишется без значения 0.
0
|
|
|
Вездепух
13207 / 6841 / 1823
Регистрация: 18.10.2014
Сообщений: 17,304
|
|||
| 08.10.2022, 11:11 | |||
|
Я лишь сказал, что никакого return вообще писать не обязательно.
0
|
|||
|
1 / 1 / 0
Регистрация: 22.09.2022
Сообщений: 45
|
|
| 08.10.2022, 12:09 | |
|
Да. Извиняюсь. Не правильно прочитал. Если там return не нужен, тогда как можно решить мою проблему, потому что я пока не совсем понимаю как можно написать рабочий код. Подскажите пожалуйста
0
|
|
|
2404 / 1934 / 763
Регистрация: 27.07.2012
Сообщений: 5,573
|
|
| 08.10.2022, 12:17 | |
|
0
|
|
|
1 / 1 / 0
Регистрация: 22.09.2022
Сообщений: 45
|
|
| 08.10.2022, 12:23 | |
|
int main()
{ cout << "Enter number" << endl; int n; cin >> n; for (int i = 2; i * i <= n; i++) { if (n % i == 0) { cout << n << " is not prime " << endl; } else cout << n << " is prime " << endl; } } Сори за такой формат. Копирую с телефона. После команды вывода в поток я вставлял return 0 , как мне и посоветовали для того чтобы прервать цикл, но это не верно. Цикл это конечно останавливает, но неправильно обрабатывает непростые числа такие как 49 например.
0
|
|
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
||||||
| 08.10.2022, 12:32 | ||||||
|
Radanovich, Все с тобой понятно
![]()
Добавлено через 1 минуту А у тебя любое нечетное окажется простым.
0
|
||||||
|
1 / 1 / 0
Регистрация: 22.09.2022
Сообщений: 45
|
|
| 08.10.2022, 12:43 | |
|
Байт, спасибо за ответ. Я правда команду break ещё не проходил. Без неё возможно обойтись?
0
|
|
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
||||||||
| 08.10.2022, 12:52 | ||||||||
0
|
||||||||
|
1 / 1 / 0
Регистрация: 22.09.2022
Сообщений: 45
|
|
| 08.10.2022, 13:37 | |
|
Спасибо ещё раз за ответ. Проанализирую код который вы мне прислали и представлю его преподавателю.
0
|
|
|
737 / 704 / 110
Регистрация: 29.05.2015
Сообщений: 4,309
|
|||
| 08.10.2022, 20:03 | |||
|
Добавлено через 3 минуты
0
|
|||
|
Вездепух
13207 / 6841 / 1823
Регистрация: 18.10.2014
Сообщений: 17,304
|
||
| 08.10.2022, 20:05 | ||
for ... else. В последнем - проверка несуществующей переменной n.
0
|
||
|
737 / 704 / 110
Регистрация: 29.05.2015
Сообщений: 4,309
|
|||||||
| 08.10.2022, 20:19 | |||||||
|
Ну если видите, что else вставлено ошибочно - самим убрать не судьба? Radanovich, ты
Если да, то может ну его нафиг, это программирование? Сложное какое-то оно...
0
|
|||||||
| 08.10.2022, 20:19 | |
|
Проверить, является ли заданное натуральное число простым Напишите рекурсивную функцию, проверяющую, является ли заданное натуральное число простым Написать рекурсивную функцию, определяющую, является ли заданное натуральное число простым
Определить, является ли заданное число простым Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Контроль уникальности строк в табличной части документа
Maks 18.06.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ПланированиеСпецтехники" с табличной частью "НаличиеОборудования", разработанного в КА2.
Задача: контроль уникальности строк в. . .
|
Клиент
Uhbif79 18.06.2026
Здесь простой клиент для работы с сервером.
|
Сервер
Uhbif79 18.06.2026
Выкладываю простейший сервер.
|
Дефенестрация
kumehtar 18.06.2026
Узнал интересное слово. Дефенестрация. Это когда ты выбрасываешь кого-либо или что-либо из окна. Возьму на вооружение)))
|
|
Дихотомия добра и зла
kumehtar 18.06.2026
Как Дзен-буддисты говорят о добре и зле: не нужно воевать против зла, нужно воевать против невежества. Тогда добро станет ествественным, и поэтому вечным. Но дело в том, что невежество всё время. . .
|
Своя Интернет-Компания
iceja 18.06.2026
Я программист с экономическим образованием, пишу свой проект, это SaaS для бизнесов. Мне нужен co-founder с высшим экономическим образованием, и/ или инвестор. Сейчас проект в интенсивной разработке,. . .
|
24 Мат модель здравосохранения: функциональные требования к строительству пищеблока
anaschu 18.06.2026
СРесурсами1: финансовый SD-контур, калькулятор функциональных требований пищеблока
Сегодня разделили затраты в агенте Экономика по образцу модели НАСОСЫ, добавили расчёт ROI и построили первый. . .
|
23. что сделано за последнее время.
anaschu 17.06.2026
• Эталон: Клиника НИИ питания РАМН, Москва — централизованный пищеблок, 225 коек, 180 пациентов
• Git: репозиторий med2, ветка абсентеизм. Рабочий файл: СРесурсами1_v4. alp
• Смежный проект:. . .
|