这个题目没太看懂求思路和源码⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
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 ubuntu子系统密码忘记
- ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
- ¥15 保护模式-系统加载-段寄存器
- ¥15 matlab求解平差
- ¥15 电脑桌面设定一个区域禁止鼠标操作
- ¥15 求NPF226060磁芯的详细资料
- ¥15 使用R语言marginaleffects包进行边际效应图绘制
- ¥20 usb设备兼容性问题
- ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
- ¥15 安装svn网络有问题怎么办