相关题目:
菱形
https://www.acwing.com/problem/content/729/
解题思路:
这道题要用到哈曼顿距离这个知识点,即d=|x1-x2|+|y1-y2|;
如下图所示,N=5,算出该表格中心(2,2)到表格其他各点的距离。可以得出,当d<=5/2的时候,该表格呈现出一个矩形。
相关代码:
#include<iostream>
#include<cmath>
using namespace std;
int main(){
int N;
cin>>N;
int sx=N/2;
int sy=N/2;
for(int i=0;i<N;i++){
for(int j=0;j<N;j++){
if(abs(sx-i)+abs(sy-j)<=N/2){
printf("*");
}
else{
printf(" ");
}
}
printf("\n");
}
}