• помогите!! пж!!! С++!!!!! даю 100 б. Вкладені цикли 5. Знайти 100 перших простих чисел. 6. Написати програму, яка виводить на екран шахівницю з заданим розміром клітини. Наприклад 3: ***---***---***---***---***--- ---***---***---***---***---*** ***---***---***---***---***--- ---***---***---***---***---*** ***---***---***---***---***--- ---***---***---***---***---*** ***---***---***---***---***--- ---***---***---***---***---***

Ответы 1

  • Объяснение:

    Для знаходження перших 100 простих чисел можна скористатися алгоритмом "решето Ератосфена". Суть алгоритму полягає в наступному:

    Створюємо масив з числами від 2 до N, де N - максимальне число, для якого ми шукаємо прості числа.

    Позначаємо всі числа, крім 2, як прості.

    Знаходимо найменше непозначене число в масиві (воно обов'язково буде простим) і позначаємо як просте всі його кратні, крім самого цього числа.

    Повторюємо крок 3 доти, поки не будуть позначені всі числа до N.

    Всі непозначені числа в масиві є простими числами.

    Отже, для знаходження 100 перших простих чисел можна використати наступний код на C++:#include <iostream>

    int main() {

    const int N = 541; // максимальне число, для якого шукаємо прості числа

    bool is_prime[N + 1];

    for (int i = 2; i <= N; i++) {

    is_prime[i] = true;

    }

    for (int i = 2; i <= N; i++) {

    if (is_prime[i]) {

    std::cout << i << " ";

    for (int j = i * i; j <= N; j += i) {

    is_prime[j] = false;

    }

    }

    if (i == 100) {

    break;

    }

    }

    return 0;

    }

    Для виведення на екран шахівниці з заданим розміром клітинки можна використати вкладені цикли. Один з можливих варіантів коду на C++:

    #include <iostream>

    int main() {

    const int N = 3; // розмір клітинки

    const int M = 8; // кількість клітинок у рядку і стовпці

    for (int i = 0; i < M; i++) {

    for (int j = 0; j < N; j++) {

    for (int k = 0; k < M; k++) {

    if ((i + k) % 2 == 0) {

    for (int l = 0; l < N; l++) {

    std::cout << "***";

    }

    } else {

    for (int l = 0; l < N; l++) {

    std::cout << "---";

    }

    }

    }

    }

    std::cout << std::endl;

    }

    return 0;

    • Автор:

      zorrofula
    • 1 год назад
    • 4
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years