• Предмет: Информатика
  • Автор: A1l9i8n4a
  • Вопрос задан 2 месяца назад

помогите!! пж!!! С++!!!!! даю 100 б.

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

Ответы

Ответ дал: Vovaf2008
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;


Vovaf2008: дай пожалуйста лучший ответ
Вас заинтересует