题目描述:

给你一个n,然后让你输出F(n)
规则是这样的,F(n)的输出结果是:
F(n-1)     F(n-1)
      F(n-1)
F(n-1)      F(n-1)
F(1)的输出结果是:X
那么根据规则F(2)的输出结果应该是:
X X
 X 
X X

输入:

题目有多组输入,每组输入一个n(n<=7)。
当输入零或负数的时候结束输入。

输出:

对每组输入输出相应的F(n),每组输出最后一行是‘#’。

样例输入:
1
2
3
-1
样例输出:
X
#
X X
X
X X
#
X X X X
X X
X X X X
X X
X
X X
X X X X
X X
X X X X
# 这道题有点意思,代码如下
 #include <cstdio>
#include <cstdlib>
#include <cstring>
#include <iostream>
using namespace std; char mat[][];
int len[] = {,,,,,,,};
void copy(int x, int y, int base) {
for(int i = x, p = ; i < x + base; i++, p++) {
for(int j = y, q = ; j < y + base;q++, j++) {
mat[i][j] = mat[p][q];
}
}
} void calf() {
mat[][] = 'X';
for(int i = ; i <= ; i++) {
int base = len[i-];
copy(base*+,,base);
copy(base+,base+,base);
copy(,base*+,base);
copy(base*+,base*+,base);
}
} int n;
int main(int argc, char const *argv[])
{ memset(mat,' ', sizeof(mat));
calf();
while(scanf("%d",&n) != EOF && n > ) {
for(int i = ; i <= len[n]; i++) {
for(int j = ; j <= len[n]; j++) {
printf("%c",mat[i][j]);
}
puts("");
}
puts("#");
}
}

九度oj 题目1345:XXX定律之画X的更多相关文章

  1. 九度OJ 1031:xxx定律 (基础题)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:6058 解决:3816 题目描述:     对于一个数n,如果是偶数,就把n砍掉一半:如果是奇数,把n变成 3*n+ 1后砍掉一半,直到该数 ...

  2. 九度OJ 题目1384:二维数组中的查找

    /********************************* * 日期:2013-10-11 * 作者:SJF0115 * 题号: 九度OJ 题目1384:二维数组中的查找 * 来源:http ...

  3. hdu 1284 关于钱币兑换的一系列问题 九度oj 题目1408:吃豆机器人

    钱币兑换问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Sub ...

  4. 九度oj题目&amp;吉大考研11年机试题全解

    九度oj题目(吉大考研11年机试题全解) 吉大考研机试2011年题目: 题目一(jobdu1105:字符串的反码).    http://ac.jobdu.com/problem.php?pid=11 ...

  5. 九度oj 题目1007:奥运排序问题

    九度oj 题目1007:奥运排序问题   恢复 题目描述: 按要求,给国家进行排名. 输入:                        有多组数据. 第一行给出国家数N,要求排名的国家数M,国家号 ...

  6. 九度oj 题目1087:约数的个数

    题目链接:http://ac.jobdu.com/problem.php?pid=1087 题目描述: 输入n个整数,依次输出每个数的约数的个数 输入: 输入的第一行为N,即数组的个数(N<=1 ...

  7. 九度OJ题目1105:字符串的反码

    tips:scanf,cin输入字符串遇到空格就停止,所以想输入一行字符并保留最后的"\0"还是用gets()函数比较好,九度OJ真操蛋,true?没有这个关键字,还是用1吧,还是 ...

  8. 九度oj题目1009:二叉搜索树

    题目描述: 判断两序列是否为同一二叉搜索树序列 输入:                        开始一个数n,(1<=n<=20) 表示有n个需要判断,n= 0 的时候输入结束. 接 ...

  9. 九度oj题目1002:Grading

    //不是说C语言就是C++的子集么,为毛printf在九度OJ上不能通过编译,abs还不支持参数为整型的abs()重载 //C++比较正确的做法是#include<cmath.h>,cou ...

随机推荐

  1. android布局不带参数返回

    package com.example.lesson3_4; import java.util.ArrayList; import java.util.List; import android.app ...

  2. 测试ReplicaSets读写分离和故障转移

    读写分离实现步骤: 从库能够进行查询就更好了,这样可以分担主库的大量的查询请求. 1) 先向主库中插入一条测试数据 rs1:PRIMARY> db.c1.insert({age:30});db. ...

  3. write命令

    write——给用户发信息,以Ctrl+D保存结束 命令所在路径:/usr/bin/write 示例1: # write xiaohua 执行命令后可以输入需要发送的信息,如下: 同时xiaohua收 ...

  4. strong 、weak、copy 、assign 、retain 、unsafe_unretained 与autoreleasing区别和作用

    strong关键字与retain关似,用了它,引用计数自动+1,用实例更能说明一切 @property (nonatomic, strong) NSString *stringA; @property ...

  5. UVA 1347 Tour 双调TSP

    TSP是NP难,但是把问题简化,到最右点之前的巡游路线只能严格向右,到最右边的点以后,返回的时候严格向左,这个问题就可以在多项式时间内求出来了. 定义状态d[i][j]表示一个人在i号点,令一个人在j ...

  6. Luogu P4463 [国家集训队] calc

    WJMZBMR的题果然放在几年后看来仍然挺神,提出了一种独特的优化DP的方式 首先我们想一个暴力DP,先定下所有数的顺序(比如强制它递增),然后最后乘上\(n!\)种排列方式就是答案了 那么我们容易想 ...

  7. js 监听页面url锚点变化 window.onpopstate

    window.onpopstate = function (event) { if (location.href.indexOf('#') == -1) { location.reload(); } ...

  8. nodejs:遍历文件夹文件统计文件大小

    根据 http://blog.csdn.net/hero82748274/article/details/45700465这里的思路对读写文件做了一个 封装: webpack在打包的时候可以借助ass ...

  9. javaEE(15)_Servlet过滤器

    一.Filter简介 1.Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, ...

  10. 监控linux各主机系统时间是否一致

    #!/bin/bashSTATE_OK=0 STATE_WARNING=1 STATE_CRITICAL=2 STATE_UNKNOWN=3PASSWD='**************'print_h ...