Решение задачи
напиши код для данной задачи на языке программирования C++: Дан массив a из n целых положительных чисел, пронумерованных от 1 до n. Назовём ...
Условие:
напиши код для данной задачи на языке программирования C++: Дан массив a из n целых положительных чисел, пронумерованных от 1 до n. Назовём массив целостным, если для любых двух, не обязательно различных, чисел x и y из этого массива, для которых x > y, число j x y k (частное от деления x на y с округлением вниз) тоже лежит в этом массиве. Известно
Решение:
Конечно! Вот пример кода на языке программирования C++, который решает данную задачу:
```cpp
#include
#include
#include
bool isIntegrityArray(const std::vector& arr) {
int n = arr.size();
std::vector isPresent(n + 1, false);
for (int i = 0; i < n; i++) {
isPresent[arr[i]] = true;
}
for (int i = 0; i < n; i++) {
for (int j = i + 1; j < n; j++) {
int x = arr[i];
int y = arr[j];
int quotient = x / y;
if (!isPresent[quotient]) {
return false;
}
}
}
return true;
}
int main() {
int n;
std::cout << "Введите размер массива: ";
std::cin >> n;
std::vector arr(n);
std::cout << "Введите элементы массива: ";
for (int i = 0; i < n; i++) {
std::cin >> arr[i];
}
if (isIntegrityArray(arr)) {
std::cout << "Массив является целостным." << std::endl;
} else {
std::cout << "Массив не является целостным." << std::endl;
}
return 0;
}
```
Программа сначала запрашивает у пользователя размер массива `n`, а затем элементы массива. Затем она вызывает функцию `isIntegrityArray`, которая проверяет, является ли массив целостным, и выводит соответствующее сообщение.
Функция `isIntegrityArray` принимает массив `arr` и использует вспомогательный массив `isPresent`, чтобы отслеживать, какие числа присутствуют в исходном массиве. Затем она проверяет все возможные пары чисел `x` и `y` в массиве и проверяет, что частное от деления `x` на `y` также присутствует в массиве. Если хотя бы одно частное отсутствует, функция возвращает `false`, иначе возвращает `true`.
Надеюсь, это поможет вам решить задачу! Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать.
Похожие работы
Попробуй и другие функции
Решения по другим предметам
А
Б
В
М
П
С
Т
Э