摆方格

来源:互联网 发布:淘宝直播申请视频范例 编辑:程序博客网 时间:2024/04/26 05:16

摆方格

时间限制:1000 ms  |  内存限制:65535 KB

难度:2

描述

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

 

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

 

输入

输入包含多组测试数据。
每一行包括一个数据n,表示n*n的方格(保证所有数据在2^64范围内且n>0)

输出

每行输出占一行,输出最大的对角线之和。

样例输入

1

2

3

样例输出

1

6

19


多画几组,找规律!

 

       n=1

 

         1

 

      n=2

 

      2 1

      3 4  //4  2

 

     n=3

 

     3 2 1

     4 7 8

     5 6 9 //9  7  3(7/2)

 

       

    n=4

      9 10 15 16

      8 11 14  1

      7 12 13  2

      6   5   4   3  // 16  14  12  6(12/2)

 

     5

 

       15 16 17 18 19

       14 13 22 21 20

       11 12 23  2   1

       10 25 24  3   4

       9   8

等差数列第nan=a1+n*d

等差数列前n项和 sn=n*a1+n*(n-1)*d/2


#include<cstdio>#include<iostream>#include<string.h>#include<algorithm>#include<stdlib.h>using namespace std;int main(){long long n,ans;while(cin >> n){ans=(n-1)*n*n-(n-1)*(n-2)+n*n/2+2-n;cout << ans << endl;}return 0;}

0 0
原创粉丝点击