摆方格
时间限制:
1000 ms | 内存限制:
65535 KB
难度:
2
-
描述
-
给你一个n*n的方格,每个方格里的数必须连续摆放如
1
2
4
3
,下图为不连续的,请输出从左上角到右下角的对角线上的最大和
1
3
4
2
-
输入
-
输入包含多组测试数据。
每一行包括一个数据n,表示n*n的方格(保证所有数据在2^64范围内且n>0)
输出
- 每行输出占一行,输出最大的对角线之和。 样例输入
-
123
样例输出
1619#include<stdio.h> int main() { long long n,m,i=0; while(scanf("%lld",&n)!=EOF) { long long sum=0; m=n*n; while(n!=1) { sum=sum+m; m=m-2; n=n-1; i=1; } if(i==1)sum=sum+(m+2)/2; else sum=sum+m; printf("%lld\n",sum); } return 0; }
#include<stdio.h> int main() { long long n,m,i,j; while(~scanf("%lld",&n)) { long long k=n-1,M=n*n; printf("%lld\n",k*M-k*(k-1)+n*n/2-n+2); } return 0; }
-
输入包含多组测试数据。