Например:
1 3 5 7 9
Числа увеличиваются на 2
Другие языки программирования и технологии
Это на питоне
Как выглядит алгоритм который можно записать на языке программирования который ищет закономерности в ряде чисел?
Генетический алгоритм, штоле?
Тут без эмпирики не обойтись, она должна быть или заложена в громоздкий алгоритм, или передана ему обратной связью от разработчика (т.е. речь об ML).
Это примерно как ученика бить палкой, пока не угадает или не сдохнет, с той только разницей, что даже самый тупой ученик умеет думать, а алгоритм - нет. И надо позаботиться, чтобы обучающая выборка включала все нужные варианты последовательностей. Например, можно натаскать на квадраты, а на кубы - нет, и кубы он не сможет распознавать.
Тут без эмпирики не обойтись, она должна быть или заложена в громоздкий алгоритм, или передана ему обратной связью от разработчика (т.е. речь об ML).
Это примерно как ученика бить палкой, пока не угадает или не сдохнет, с той только разницей, что даже самый тупой ученик умеет думать, а алгоритм - нет. И надо позаботиться, чтобы обучающая выборка включала все нужные варианты последовательностей. Например, можно натаскать на квадраты, а на кубы - нет, и кубы он не сможет распознавать.
Красиво выглядит
Алексей Смахтин
автор ответа признал, что вопрос не является полезным
Если начать решать задачу "в лоб"
1. Входной массив необходимо отсортировать
2. Пишем функцию, которая сравнивает 2 числа. Ее придется вызвать хотя бы один раз и передать туда элементы массива с индексом 0 и 1. Так мы проверим, что если первый и второй элементы не удовлетворяют условию, то можно дальше весь масив и не проходить.
3. Проходим весь массив в цикле, передавая в функцию элементы для сравнения.
Но это такое решение, без оптимизации. Предпологаю, что есть какие-то чисто математические решения для таких задач. Например что-то типа задачи о счастливых билетах, где нужно подсчитать кол-во билетов, у которых сумма первых 3 цифр равна сумме вторых 3 цифр. Вы же не будете такую задачу решать через брутфорс, просто перебирая комбинации.
1. Входной массив необходимо отсортировать
2. Пишем функцию, которая сравнивает 2 числа. Ее придется вызвать хотя бы один раз и передать туда элементы массива с индексом 0 и 1. Так мы проверим, что если первый и второй элементы не удовлетворяют условию, то можно дальше весь масив и не проходить.
3. Проходим весь массив в цикле, передавая в функцию элементы для сравнения.
Но это такое решение, без оптимизации. Предпологаю, что есть какие-то чисто математические решения для таких задач. Например что-то типа задачи о счастливых билетах, где нужно подсчитать кол-во билетов, у которых сумма первых 3 цифр равна сумме вторых 3 цифр. Вы же не будете такую задачу решать через брутфорс, просто перебирая комбинации.
# определяем последовательность чисел
numbers = [1, 3, 5, 7, 9]
# находим разность между каждыми двумя соседними числами
differences = [numbers[i+1] - numbers[i] for i in range(len(numbers)-1)]
# проверяем, есть ли одинаковые разности между числами
if all(x == differences[0] for x in differences):
print(f"Числа в последовательности увеличиваются на {differences[0]}")
else:
print("Не удалось найти закономерность в последовательности чисел")
Это на питоне
Похожие вопросы
- Разработайте программу на любом доступном языке программирования вычисляющую наименьшее общее кратное двух чисел...
- Что делает если не хочется учить язык программирования который тебе не нравится
- Язык программирования c++, в массиве, найти положительные числа
- Лучший язык программирования? который включает в себя все что вам нужно, или почти все
- Знаете ли вы языки программирования которые легко изучить новичку? Чтобы быстро и лёгко было
- Программирование. Опишите на языке программирования алгоритм вычисления...
- помогите составить алгоритм вычисления площади трапеции по двум основаниям и высоте. На языке программирования Basic
- Срочно нужна помощь Ввести ряд чисел и сформировать список элементов ряда, кратных 10. Язык программирования Delphi.
- Почему числа в языках программирования называются константами?
- А какие языки программирования изучали в 80х и на чём вы их изучали?