nyoj--1087--摆方格(规律)

摆方格

时间限制:1000 ms  |  内存限制:65535 KB
难度:2
描述

  给你一个n*n的方格,每个方格里的数必须连续摆放如  

,下图为不连续的,请输出从左上角到右下角的对角线上的最大和   

输入
输入包含多组测试数据。
每一行包括一个数据n,表示n*n的方格(保证所有数据在2^64范围内且n>0)
输出
每行输出占一行,输出最大的对角线之和。
样例输入
123
样例输出
1619
上传者

ACM_刘炀






#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int main()
{
	long long n,sum,k;
	while(scanf("%lld",&n)!=EOF)
	{
		k=n*n;
		sum=0;
		for(int i=1;i<n;i++)
		{
			sum+=k;
			k-=2;
		}
		k/=2;
		sum+=k;
		printf("%lld
",sum+1);
	}
	return 0;
}



原文地址:https://www.cnblogs.com/playboy307/p/5273727.html