2 条题解

  • 1
    @ 2021-02-09 19:15:17

    //这不是有手就行吗???
    //AC code:
    #include<iostream>
    #define ll long long
    using namespace std;
    int main(){
    ll n; cin>>n;
    ll ans=0;
    for(ll i=0;i<=n;i++)
    ans+=i*i;
    cout<<ans<<endl;
    return 0;
    }

  • -2
    @ 2020-07-18 23:41:27
    #include <iostream>
    
    using namespace std;
    // 题目意思不清楚,简单理解一下是对于一个边长为N的大正方形,数其中所有的正方形数量,也就是各种边长的正方形数量
    // 类似一个大正方形网格中,所有的小网格数量
    // 一个5*5的"地板:
    // 它有1个边长5的正方形,4个边长4的正方形,9个边长3的正方形,16个边长2的正方形,25个边长1的正方形。
    // 这是一个简单的递推:f(n) = f(n-1) + n * n;
    // 求解可得公式:f(n) = 1^2 + 2^2 + 3^2 + ... + n^2 = (n)*(n+1)*(2*n+1) / 6
    // 题目的输入也有问题,我还以为是正方形的周长
    // 考虑的边界值:n = 0, f(n) = 0; n = 32767, f(n) = 11727587164160(一个14位的正整数)
    // 所以结果可以使用高精度的数据,或者unsigned long long
    int main(int argc, char *argv[])
    {
        unsigned long long n = 0;
        cin >> n;
        unsigned long long result = 0L;
        result = (n) * (n+1) * (2*n+1) / 6;
        cout << result << endl;
        return 0;
    }
    
  • 1

信息

ID
1151
难度
4
分类
其他 | 数学 点击显示
标签
递交数
60
已通过
28
通过率
47%
上传者