题解 | #杨辉三角的变形#

杨辉三角的变形

https://www.nowcoder.com/practice/8ef655edf42d4e08b44be4d777edbf43

//此题2.3.2.4循环找规律即可,否则运算会超时
#include <stdio.h>
#include <math.h>

int main() {
    int n;
    scanf("%d", &n);
    int num[4] = {3, 2, 4, 2,};
    if (n == 1 || n == 2) {
        printf("-1");
    } else if (n >= 3 && n <= pow(10, 9)) {
        int k = n % 4;
        printf("%d", num[k]);
    }

    return 0;
}





/*此题目要求的输入范围过大范围,需要取巧找规律
#include <math.h>
#include <stdio.h>

int main() {
    int n;
    scanf("%d", &n);
    int k = 2;
    if (n >= 1 && n <= pow(10, 9)) {

        int num[n + 1][(2 * n + 3)];

        for (int i = 1; i < n + 1; i++) {
            num[1][2] = 1;
            num[i][0] = 0;
            num[i][1] = 0;
            num[i][(2 * i + 1)] = 0;
            num[i][(2 * i + 2)] = 0;
            if (i >= 2) {
                for (int j = 2; j < (2 * n + 1); j++) {
                    num[i][j] = num[i - 1][j] + num[i - 1][j - 1] + num[i - 1][j - 2];

                }
            }
            num[i][(2 * i + 1)] = 0;
            num[i][(2 * i + 2)] = 0;//刷新掉上面式子中最后两项的值
        }

        while ((num[n][k] % 2) != 0) {
            k++;
        }

        if (k == (2 * n + 1)) {
            printf("-1");

        } else {
            printf("%d", k - 1);
        }
    }
    return 0;
}*/

全部评论

相关推荐

迷茫的大四🐶:💐孝子启动失败,改为启动咏鹅
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务