【题目描述】:给你一个 n×n 的矩阵,里面填充 1到 n x n。例如当 n 等于 3 的时候,填充的矩阵如下。
1 2 3
4 5 6
7 8 9
现在我们把矩阵中的每条边的中点连起来,这样形成了一个新的矩形,请你计算一下这个新的矩形的覆盖的数字的和。比如,n = 3 的时候矩形覆盖的数字如下。
2
4 5 6
8
那么当
n 等于
101 的时候,矩阵和是多少?
答案:
26020201
#include<stdio.h>
#include<iostream>
#include<string.h>
#include<iomanip>
#include<algorithm>
using namespace std;
int main(){
int n;
// cin>>n;
int sum=0;
int k=0;
for(int i=1;i<=101;i++)
{
for(int j=1;j<=101;j++)
{
k++;
if(j==51)
{
sum+=k;
}
else if(i==51)
{
sum+=k;
}
else if((i<51&&j<51&&i+j>51)||(i<51&&j>51&&i>j-51)||(i>51&&j<51&&i-51<j)||(i>51&&j>51&&i-51+j-51<51))
{
sum+=k;
}
}
}
cout<<sum<<endl;
return 0;
}