每次都要判斷幾格太麻煩了(懶得數(?)
所以就先建好表 然後每次看表輸出就好了
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | #include<bitset> #include<cstdio> using namespace std; int n,i,j,cnt; bitset<205> m[205]; int main(){ for(i=1;i<=199;i++){ m[i][100]=1; m[100][i]=1; m[i][i]=1; m[i][200-i]=1; } while(scanf("%d",&n)!=EOF){ for(i=100-n+1;i<=100+n-1;i++){ for(j=100-n+1,cnt=0;j<=100+n-1 && (i==100 || (i!=100 && cnt<3));j++){ if(m[i][j]){ putchar('*'); cnt++; } else putchar(' '); } putchar('\n'); } } } |
沒有留言:
張貼留言