列表

详情


NC341. 金字塔

描述

众所周知,金字塔是一层一层堆砌而成。
如下图,金字塔的最顶层有一个点,第二层有三个点,第三层有六个点,以此类推……

有一个无限大的金字塔,前 n 层一共有多少个点?答案请对 取模。
数据范围:

示例1

输入:

4

输出:

20

说明:

前四层的点数量为 1 + 3 + 6 +10 = 20

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C 解法, 执行用时: 3ms, 内存消耗: 396KB, 提交时间: 2022-06-03

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param n int整型 金字塔的层数
 * @return int整型
 *
 * C语言声明定义全局变量请加上static,防止重复定义
 */
int getNums(int n ) {
    long long int num = (long long)n * (long long )(n+1);
    num %= 1000000007;
    num *= n+2;
    num /= 6;
    num %= 1000000007;
    return num;
}

C++ 解法, 执行用时: 3ms, 内存消耗: 400KB, 提交时间: 2022-07-09

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param n int整型 金字塔的层数
     * @return int整型
     */
    int getNums(int n) {
        // write code here
        long long result = (long long )n*(n+1);
        result = result%1000000007;
        result*=(n+2);
        result/=6;
        result%=1000000007;
        return result;
    }
};

C++ 解法, 执行用时: 3ms, 内存消耗: 404KB, 提交时间: 2022-03-14

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param n int整型 金字塔的层数
     * @return int整型
     */
    int getNums(int n) {
        // write code here
        long long result = (long long )n*(n+1);
        result = result%1000000007;
        result*=(n+2);
        result/=6;
        result%=1000000007;
        return result;
       

    }
};

C++ 解法, 执行用时: 3ms, 内存消耗: 404KB, 提交时间: 2022-03-11

#define mod 1000000007
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param n int整型 金字塔的层数
     * @return int整型
     */

    int getNums(int n) {
        long long result = (long long )n*(n+1);
        result %=mod;
        result *=(n+2);
        result /=6;
        result %=mod;
        return result;

    }
};

C++ 解法, 执行用时: 3ms, 内存消耗: 412KB, 提交时间: 2022-03-15

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param n int整型 金字塔的层数
     * @return int整型
     */
    int getNums(int n) {
        // write code here
        int mod = 1e9+7;
        long long res = (long long)n*(n+1);
        res%=mod;
        res*=(n+2);
        res/=6;
        res%=mod;
        return res;
    }
};

上一题