Алгоритм нахождения следующего числа в последовательности чисел? - PullRequest
3 голосов
/ 18 января 2011

У меня следующая последовательность чисел:

2 5 6 20 18 80 54 320 162 1280

Я просто не могу найти следующее число или алгоритм для его вычисления.

Любые подсказки?

Ответы [ 8 ]

11 голосов
/ 18 января 2011

Следующее число 486.

Последовательность * 3, * 4.

Каждый нечетный индекс умножается на 4:

5 20 80 320 1280

Каждый четный индекс умножается на 3:

2 6 18 54 162

Таким образом, 486 является следующим числом. : -)

7 голосов
/ 18 января 2011

Следующим является 486

Просто wolframalpha

Выход Mathematica: {2, 5, 6, 20, 18, 80, 54, 320, 162, 1280, 486, 5120, 1458, 20480, 4374}

и вот отношение повторения, которое оно дает:

a(n+4) = 7*a(n+2)-12*a(n)
4 голосов
/ 18 января 2011

Эта проблема недостаточно определена.Вы могли бы написать программу, чтобы придумать какой-то логический следующий номер, но нет никакой гарантии, что он будет иметь какое-либо отношение к тому, что задумана головоломка.Например, компьютер может подогнать к данным многочлен десятого порядка, а затем использовать его для экстраполяции к следующему значению.Он может попытаться найти какой-нибудь текстовый корпус, в котором эти цифры появятся в названии текста, а затем вернуть первую букву этого корпуса.Другими словами, да, компьютер может найти какое-то подходящее число, но поскольку создатель головоломки ищет какой-то конкретный ответ, нет никаких оснований полагать, что компьютер будет правильным.

При этом ответ наЗадача состоит в том, чтобы взглянуть на соотношения нечетно проиндексированных терминов и соотношение четно индексированных терминов.Вы заметите образец.: -)

3 голосов
/ 18 января 2011

Вот Java-приложение, которое вычисляет эту последовательность:

/**
 * @author mpieciukiewicz
 */
public class Main {

    public static void main(String[] args) {
        new Main().run();
    }

    public void run() {
        for (int p=0; p<11; p++) {
            System.out.println(p+":"+number(p));
        }
    }

    private int calculate(int base, int multiplier, int power) {
        int result = base;
        for (int p=0; p<power; p++) {
            result = result * multiplier;
        }
        return result;
    }

    private int number(int index) {
       int half = index / 2;
       int number;
       if (index%2 == 0) {
           number = calculate(2, 3, half);
       } else {
           number = calculate(5, 4, half);
       }
       return number;
    }
}

Результат этой программы:

0:2
1:5
2:6
3:20
4:18
5:80
6:54
7:320
8:162
9:1280
10:486

Итак, ответ на ваш вопрос: 468.

2 голосов
/ 18 января 2011

Использовать Целочисленные последовательности Слоана . Это то, что профессиональные математики используют в качестве отправной точки.

1 голос
/ 18 января 2011

Все просто:

a1=2
a2=4
a3=a1*3
a4=a2*4
a5=a3*3
a6=a4*4

обычно:

a(2k+1)=a(2k-1)*3
a(2k)=a(2k-2)*4
0 голосов
/ 13 октября 2015

486

отделяет 2 последовательности из этого списка чисел 2 5 6 20 18 80 54 320 162 1280

2 6 18 54 162 5 20 80 320 1280

1-й ряд - 3x, 4-й ряд - 4x, поэтому следующий по порядку - 3x 162, а следующий номер - 4x 1280

.
0 голосов
/ 07 июня 2013

51,128 следующий номер.в дифференцированных рядах нет сходимости, поэтому треугольник уменьшается до 16 125.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...