解题思路:打印菱形的方法,暴力计算
#include <bits/stdc++.h>
using namespace std;
int main()
{
int Map[105][105],n;
int cnt = 1;
n = 101;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
Map[i][j] = cnt++;
}
}
int mid = (n+1)/2,flag =0,sum = 0;
int len = mid;
for(int i=1;i<=len;i++){
for(int j=mid;j<mid+2*i-1;j++){
sum += Map[i][j];
}
if(mid == 0)
{
break;
}
mid--;
}
mid = (n+1)/2;len =mid;
for(int i=n;i>=len+1;i--){
for(int j=mid;j<mid+2*(n-i+1)-1;j++){
sum += Map[i][j];
}
if(mid == 0)
break;
mid--;
}
cout<<sum<<endl;
return 0;
}