#include#include #include int r;int abs(int a){ if(a<0) return -a; return a;}int judge(int a,int b){ int k=abs((r-a)*(r-a)+(r-b)*(r-b)-r*r); if(k<=3) return 1; else return 0;}int main(){ int t,i,j,u=1; scanf("%d",&t); while(t--) { scanf("%d",&r); printf("Case %d:\n",u++); for(i=0;i<2*r+1;i++) { for(j=0;j<2*r+1;j++) { if(judge(i,j)) printf("*"); else printf(" "); } printf("\n"); } } return 0;}
注意sqrt(3)=1.732050807568877293527446341505872366942805253810380628055806979451933016908800037081146186757248575675626141415406703029969945094998952478
811655512094373648528093231902305582067974820101084674923265015312343266903322886650672254668921837971227047131660367861588019049986537379859389467650347506576051注意sqrt的消去,注意精度的保持