dyxm21
2016-03-23 23:47
采纳率: 80.3%
浏览 1.4k
已采纳

求解思路和源码⋯⋯⋯⋯

这个题目没太看懂求思路和源码⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 边缘颓废之 2016-03-24 02:48
    已采纳

    有代码,思路自己看。。。
    import java.util.*;

    public class A
    {
    static char[][] Zu;
    
    static class Tur
    {
        int dr = 0;
        int di = -1;
    
        int x = 0;
        int y = 0;
    
        void left()
        {
            int dr2 = di;
            int di2 = -dr;
            dr = dr2;
            di = di2;
        }
        void right()
        {
            int dr2 = -di;
            int di2 = dr;
            dr = dr2;
            di = di2;
        }
        void dot()
        {
            //System.out.println(x+","+y);
            Zu[x][y] = '$';
        }
        void go()
        {
            x += dr;
            y += di;
        }
    }
    
    static void show()
    {
        for(int i=0; i<Zu.length; i++)
        {
            for(int j=0; j<Zu[i].length; j++)
            {
                if(Zu[i][j]>0)
                    System.out.print(Zu[i][j]);
                else
                    System.out.print('.');
            }
            System.out.println();
        }
    }
    
    static void f(int n, int x0, int y0)
    {
        Tur tur = new Tur();
        tur.x = x0+2;
        tur.y = y0+2;
    
        for(int k=0; k<4; k++)
        {
            for(int i=0; i<2; i++){
                tur.dot(); 
                tur.go();
            }
            tur.right();
            for(int i=0; i<4*n; i++){
                tur.dot(); 
                tur.go();
            }
            tur.right();
            for(int i=0; i<2; i++){
                tur.dot(); 
                tur.go();
            }
            tur.left();
        }       
    }
    
    static void test(int n)
    {
        Zu = new char[4*n+5][4*n+5];
    
        for(int i=n; i>=0; i--)
            f(i,2*n-i*2,2*n-i*2);
    
        show();     
    }
    
    public static void main(String[] args)
    {
        test(5);//输出5个
        //test(13); 
    }
    }
    
    点赞 打赏 评论
  • blownewbee 2016-03-23 23:49

    之前的问题采纳了,再回答新的问题

    点赞 打赏 评论

相关推荐 更多相似问题