Аргумент типа long long несовместим с параметром типа const long long - PullRequest
0 голосов
/ 02 ноября 2019

Я пытаюсь сделать функцию для вычисления массива чисел, начиная с определенного массива и суммируя последние три числа. Итак, если мы хотим начать нашу последовательность Трибоначи с [1, 1, 1] в качестве начального входа, мы получим следующую последовательность:

[1, 1, 1, 3, 5, 9, 17, 31, ...]. Это упражнение из codewar.

Обычно у меня возникают проблемы во время вызова функции: «аргумент типа long long несовместим с параметром типа const long long.»

long long *tribonacci( const long long signature[3], size_t n) {

    long long sum = signature[0] + signature[1] + signature[2];
    long long *tribonacci = new long long (n);
    tribonacci = NULL;
    if (n == 0) return tribonacci;
    for (int i = 0;i < 3;i++) {
        if (i + 1 == n) return tribonacci;
        tribonacci[i] = signature[i];
    }
    if (n == 4) return tribonacci;
    tribonacci[3] = sum;
    if (n == 5) return tribonacci;
    tribonacci[4] = sum + signature[1] + signature[2];
    for (int i = 5;i < n;i++) {
        tribonacci[i] = tribonacci[i - 1] + tribonacci[i - 2];
    }
    return tribonacci;

}


int main() {

    int n;
    cin >> n;
    const long long signature[3] = { 1,1,1 };
    long long *tribonacci1 = tribonacci(*signature[3]*, n);
    for (int i= 0;i < n;i++) {

        cout<<tribonacci1[i]<<' ';
    }

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