Обновить main.cpp
This commit is contained in:
40
main.cpp
40
main.cpp
@@ -235,6 +235,44 @@ string convertToBase(int number, int base) {
|
|||||||
reverse(result.begin(), result.end());
|
reverse(result.begin(), result.end());
|
||||||
return result.empty() ? "0" : result; // Если число 0, вернуть "0"
|
return result.empty() ? "0" : result; // Если число 0, вернуть "0"
|
||||||
}
|
}
|
||||||
|
void sieveOfEratosthenes(int n) {
|
||||||
|
// Создаем вектор для хранения простоты чисел. Изначально считаем, что все числа простые.
|
||||||
|
vector<bool> isPrime(n + 1, true);
|
||||||
|
|
||||||
|
// 0 и 1 не являются простыми числами.
|
||||||
|
isPrime[0] = isPrime[1] = false;
|
||||||
|
|
||||||
|
for (int i = 2; i * i <= n; ++i) {
|
||||||
|
if (isPrime[i]) {
|
||||||
|
// Отмечаем все кратные i как составные.
|
||||||
|
for (int j = i * i; j <= n; j += i) {
|
||||||
|
isPrime[j] = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Выводим все простые числа.
|
||||||
|
cout << "Простые числа до " << n << ": ";
|
||||||
|
for (int i = 2; i <= n; ++i) {
|
||||||
|
if (isPrime[i]) {
|
||||||
|
cout << i << " ";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
cout << endl;
|
||||||
|
}
|
||||||
|
void z2() {
|
||||||
|
int n;
|
||||||
|
cout << "Введите предел для поиска простых чисел: ";
|
||||||
|
cin >> n;
|
||||||
|
|
||||||
|
if (n < 2) {
|
||||||
|
cout << "Простых чисел нет." << endl;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
sieveOfEratosthenes(n);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
void z5_16() {
|
void z5_16() {
|
||||||
string inputFile = "input.txt"; // Исходный файл
|
string inputFile = "input.txt"; // Исходный файл
|
||||||
string outputFile = "output.txt"; // Файл для результатов
|
string outputFile = "output.txt"; // Файл для результатов
|
||||||
@@ -361,6 +399,7 @@ void z5_22() {
|
|||||||
void showMenu() {
|
void showMenu() {
|
||||||
cout << "Меню задач:\n";
|
cout << "Меню задач:\n";
|
||||||
cout << "1. «Алгоритм Евклида»\n";
|
cout << "1. «Алгоритм Евклида»\n";
|
||||||
|
cout << "2. «Решето какого-то чела»\n";
|
||||||
cout << "3. 3.16\n";
|
cout << "3. 3.16\n";
|
||||||
cout << "4. 3.22\n";
|
cout << "4. 3.22\n";
|
||||||
cout << "6. 4.16\n";
|
cout << "6. 4.16\n";
|
||||||
@@ -378,6 +417,7 @@ void launchTasks() {
|
|||||||
|
|
||||||
switch (choice) {
|
switch (choice) {
|
||||||
case 1: z1launcher(); break;
|
case 1: z1launcher(); break;
|
||||||
|
case 2: z2(); break;
|
||||||
case 3: z3_16(); break;
|
case 3: z3_16(); break;
|
||||||
case 4: z3_22(); break;
|
case 4: z3_22(); break;
|
||||||
case 6: z4_16(); break;
|
case 6: z4_16(); break;
|
||||||
|
|||||||
Reference in New Issue
Block a user