gif
Портал edu4cash: Что это и как работает?.
gif
Как быстро получить ответ от ИИ.
gif
Как задонатить в Roblox в России в 2024 году.
gif
Обновления на edu4cash – новые награды, улучшенная модерация и эксклюзивные возможности для VIP!.
  • Задать вопрос
  • Назад
  • Главная страница
  • Вопросы
  • Предметы
    • Русский язык
    • Литература
    • Математика
    • Алгебра
    • Геометрия
    • Вероятность и статистика
    • Информатика
    • Окружающий мир
    • География
    • Биология
    • Физика
    • Химия
    • Обществознание
    • История
    • Английский язык
    • Астрономия
    • Физкультура и спорт
    • Психология
    • ОБЖ
    • Немецкий язык
    • Французский язык
    • Право
    • Экономика
    • Другие предметы
    • Музыка
  • Темы
  • Банк
  • Магазин
  • Задания
  • Блог
  • Топ пользователей
  • Контакты
  • VIP статус
  • Пригласи друга
  • Донат
  1. edu4cash
  2. Вопросы
  3. Информатика
  4. 10 класс
  5. Даю 100 баллов на C++ надо написать программу. Задание с Сириуса: Выведите в порядке возрастания все простые числа на отрезке [l;r]. Оформите решение в виде функции bool isPrime(int n), проверяющей число на простоту, и функции vector primes(int l, int...
Задать вопрос
Похожие вопросы
  • Несколько дней подряд метеоролог измеряет температуру воздуха в своём городе. Ваша программа считывает измеренные им значения и выводит среднее значение температуры за время измерений. Чтобы обозначить конец ввода данных, вводится значение, меньшее -300 (реальная температура не может быть ниже -273.15). При проведении вычислений с действительными числами ответ может незначительно отличаться от математически правильного из-за погрешностей округления; это не повлияет на проверку решения. Формат ввода Несколько (не меньше одного) действительных чисел на отдельных строках — температура воздуха в разные дни.Действительное число, меньшее -300. Формат вывода Одно действительное число — средняя температура воздуха.
  • Напишите программу, которая имитирует проверку пароля, придуманного пользователем. Пользователь вводит пароль, потом ещё раз его же, для подтверждения. если пароль, который ввёл пользователь (в первый раз) короче 8 символов, программа выводит "Короткий!" и завершает свою работу если пароль, введённый пользователем в первый раз, достаточно длинный, но в нём содержится сочетание символов "123", программа выводит "Простой!" если же предыдущие проверки пройдены успешно, но введённый во второй раз пароль не совпадает с первым, программа выводит "Различаются." если же и эта проверка пройдена успешно, программа выводит "OK" (латинскими буквами)
  • Несколько дней подряд метеоролог измеряет температуру воздуха в своём городе. Ваша программа считывает измеренные им значения и выводит среднее значение температуры за время измерений. Чтобы обозначить конец ввода данных, вводится значение, меньшее -300 (реальная температура не может быть ниже -273.15). При проведении вычислений с действительными числами ответ может незначительно отличаться от математически правильного из-за погрешностей округления; это не повлияет на проверку решения. Формат ввода Несколько (не меньше одного) действительных чисел на отдельных строках — температура воздуха в разные дни.Действительное число, меньшее -300. Формат вывода Одно действительное число — средняя температура воздуха.
  • Любопытно, что впервые обратный отсчёт перед запуском ракеты был использован в немом научно-фантастическом фильме «Женщина на Луне». Драматический приём оказался настолько удачным, что прижился в реальной практике космонавтики. Напишите программу, которая ведёт обратный отсчёт. Формат вводаВводится одно целое число n — количество секунд, оставшееся до запуска. Формат выводаДля каждой секунды от n-й до нулевой последовательно выведите: «Осталось секунд: <количество оставшихся секунд>». После этого выведите: «Пуск». Если n<0, то это значит, что с пуском мы опаздываем: в этом случае выводите «Пуск» немедленно, не тратя времени на обратный отсчёт. напиши код на python
  • Напишите калькулятор для целочисленных вычислений, который обрабатывает серию команд и выводит результат вычислений по каждой из них. Каждая команда записывается так: сначала вводится первое число, затем символ операции, затем — при необходимости — второе число. Символы операций (гарантируется, что используются только эти символы): «+» (сложить два числа),«-» (вычесть из первого числа второе),«*» (перемножить два числа),«/» (поделить первое число на второе нацело),«%» (получить остаток от деления первого числа на второе),«!» (посчитать факториал от первого числа, ввод второго числа не производится),«x» (вывести первое число и закончить выполнение программы, ввод второго числа не производится).Если пользователь попытается взять факториал от отрицательного числа или сделать ещё что-то незаконное, то никакой результат для этой команды выводить не следует. Формат вводаНесколько команд в указанном в условии формате: сначала вводится первое число, затем символ операции, затем при необходимости второе число. Формат выводаНесколько целых чисел — результаты выполнения команд. напиши код на python
ruben.dach

2024-12-05 01:29:58

Даю 100 баллов на C++ надо написать программу. Задание с Сириуса: Выведите в порядке возрастания все простые числа на отрезке [l;r]. Оформите решение в виде функции bool isPrime(int n), проверяющей число на простоту, и функции vector primes(int l, int r), возвращающей список простых чисел на отрезке [l;r]. Входные данные: Дано два натуральных числа l и r (l≤r≤1000).

#include
#include
using namespace std;
bool isPrime(int n)
/* ВАШ КОД */
int main()
{
int l, r;
cin >> l >> r;
vector res = primes(l, r);
for (int i = 0; i < res.size(); ++i){
cout << res[i] << " ";
}
return 0;
}

Вот мой фрагмент кода который валится на 3-ем тесте:
{
for(int i = 2; i <= n / 2; i++){
if(!(n % i)){
return 0;
}
}
return 1;
}
vector primes(int l, int r){
vector A;
for(int i = l; i <= r; i++){
if(isPrime(i)){
A.push_back(i);
}
}
return A;
}

Информатика 10 класс Программирование C++ программа простые числа функция isPrime функция primes отрезок [l;r] натуральные числа алгоритм проверки простоты вывод простых чисел решение задачи код на C++ тестирование программы Новый

Ответить

dlueilwitz

2024-12-08 05:41:29

Для решения задачи по нахождению простых чисел на отрезке [l; r] необходимо правильно реализовать функции isPrime и primes. Давайте разберем каждую из них и исправим ошибки в вашем коде.

1. Функция isPrime

Функция isPrime должна проверять, является ли число простым. Простое число - это натуральное число больше 1, которое не имеет делителей, кроме 1 и самого себя. В вашем коде есть ошибка: функция возвращает 0 (ложь) для простых чисел. Правильная реализация должна выглядеть следующим образом:

bool isPrime(int n) {
    if (n <= 1) return false; // Числа меньше или равные 1 не простые
    for (int i = 2; i * i <= n; i++) { // Проверяем делители до корня из n
        if (n % i == 0) return false; // Если n делится на i, то не простое
    }
    return true; // Если не нашли делителей, то n простое
}

2. Функция primes

Функция primes должна возвращать вектор простых чисел на заданном отрезке. Ваша реализация в целом верная, но давайте убедимся, что она использует исправленную функцию isPrime:

vector primes(int l, int r) {
    vector A; // Создаем вектор для хранения простых чисел
    for (int i = l; i <= r; i++) { // Проходим по всем числам от l до r
        if (isPrime(i)) { // Если число простое
            A.push_back(i); // Добавляем его в вектор
        }
    }
    return A; // Возвращаем вектор простых чисел
}

3. Основная функция main

Теперь, когда функции определены, ваша основная функция main должна выглядеть следующим образом:

#include 
#include 
using namespace std;

bool isPrime(int n) {
    if (n <= 1) return false;
    for (int i = 2; i * i <= n; i++) {
        if (n % i == 0) return false;
    }
    return true;
}

vector primes(int l, int r) {
    vector A;
    for (int i = l; i <= r; i++) {
        if (isPrime(i)) {
            A.push_back(i);
        }
    }
    return A;
}

int main() {
    int l, r;
    cin >> l >> r; // Вводим границы отрезка
    vector res = primes(l, r); // Получаем вектор простых чисел
    for (int i = 0; i < res.size(); ++i) {
        cout << res[i] << " "; // Выводим простые числа
    }
    return 0;
}

Теперь программа должна корректно работать для всех тестов, включая третий. Убедитесь, что вы правильно вводите значения l и r, и программа выведет все простые числа на заданном отрезке в порядке возрастания.


ruben.dach ждет твоей помощи!

Ответь на вопрос и получи 27 Б 😉
Ответить

  • Политика в отношении обработки персональных данных
  • Правила использования сервиса edu4cash
  • Правила использования файлов cookie (куки)

Все права сохранены.
Все названия продуктов, компаний и марок, логотипы и товарные знаки являются собственностью соответствующих владельцев.

Copyright 2024 © edu4cash

Получите 500 балов за регистрацию!
Регистрация через ВКонтакте Регистрация через Google

...
Загрузка...
Войти через ВКонтакте Войти через Google Войти через Telegram
Жалоба

Для отправки жалобы необходимо авторизоваться под своим логином, или отправьте жалобу в свободной форме на e-mail [email protected]

  • Карма
  • Ответов
  • Вопросов
  • Баллов