dyxm21 2016-03-23 23:47 采纳率: 100%
浏览 1443
已采纳

求解思路和源码⋯⋯⋯⋯

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

  • 写回答

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); 
    }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥50 汇编语言除法溢出问题
  • ¥65 C++实现删除N个数据列表共有的元素
  • ¥15 Visual Studio问题
  • ¥15 state显示变量是字符串形式,但是仍然红色,无法引用,并显示类型不匹配
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗