这个题目没太看懂求思路和源码⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
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
悬赏问题
- ¥15 idea右下角设置编码是灰色的
- ¥15 全志H618ROM新增分区
- ¥20 jupyter保存图像功能的实现
- ¥15 在grasshopper里DrawViewportWires更改预览后,禁用电池仍然显示
- ¥15 NAO机器人的录音程序保存问题
- ¥15 C#读写EXCEL文件,不同编译
- ¥15 MapReduce结果输出到HBase,一直连接不上MySQL
- ¥15 扩散模型sd.webui使用时报错“Nonetype”
- ¥15 stm32流水灯+呼吸灯+外部中断按键
- ¥15 将二维数组,按照假设的规定,如0/1/0 == "4",把对应列位置写成一个字符并打印输出该字符