分享一个递归解法。但是题目要求的n太大时,运行会超时。
单纯觉得找规律的话这题目就没意思了
#include<stdio.h>
int fun(int n, int i)
{
    int num = 0;
    if (n == 1)
    {
        num = 1;
    }
    if (i  <= 0 || i>(2 * n - 1))
    {
        num = 0;
    }
    else if (n > 1)
    {
        num = fun(n - 1, i - 2) + fun(n - 1, i - 1) + fun(n - 1, i);
    }
    return num;
}


int main(void)
{
    int n;
    scanf("%d", &n);
    int flag = 0;
    for (int i = 1; i <= (2 * n - 1); i++)
    {
        int num = fun(n, i);
        // printf("%d\n", num);
        if (num % 2 == 0)
        {
            printf("%d\n", i);
            i = (2 * n);
            flag = 1;
        }
    }
    if (flag == 0)
    {
        printf("-1");
    }
    return 0;
}