2 条题解
-
1倪溢阳@明伦 (绝艺) LV 8 @ 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;
} -
-22020-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