从9x9矩阵中抽取中间菱形区域打印 - perl
起因: 源自于c的练习题,打印diamond,因为perl不需编译,方便调试,故先用perl实现一下
关键: 没有想到好的思路,只能借助于上一篇打印上下三角矩阵的方法,把菱形拆成上下左右4个三角矩阵区域来实现。
#!/usr/bin/perl -w
use strict;
## ------------------------------- diamond -----------------------------------------
## upper peak
for my $row (reverse(..))
{
## upper left
for my $col(..)
{
if($col >= $row)
{
print "* ";
}
else
{
print " ";
}
} ## upper right
for my $col(reverse(..))
{
if($col > $row)
{
print "* ";
}
else
{
print " ";
}
}
print "\n";
} ## lower peak
for my $row (..)
{
print " ";
## lower left
for my $col(..)
{
if($col >= $row)
{
print "* ";
}
else
{
print " ";
}
} ## lower right
for my $col(reverse(..))
{
if($col > $row)
{
print "* ";
}
else
{
print " ";
}
}
print "\n";
}
输出:
从9x9矩阵中抽取中间菱形区域打印 - perl的更多相关文章
- [LeetCode] Kth Smallest Element in a Sorted Matrix 有序矩阵中第K小的元素
Given a n x n matrix where each of the rows and columns are sorted in ascending order, find the kth ...
- [LeetCode] Longest Increasing Path in a Matrix 矩阵中的最长递增路径
Given an integer matrix, find the length of the longest increasing path. From each cell, you can eit ...
- 杨氏矩阵:查找x是否在矩阵中,第K大数
参考:http://xudacheng06.blog.163.com/blog/static/4894143320127891610158/ 杨氏矩阵(Young Tableau)是一个很奇妙的数据结 ...
- 一个N*M的矩阵,找出这个矩阵中所有元素的和不小于K的面积最小的子矩阵
题目描述: 一个N*M的矩阵,找出这个矩阵中所有元素的和不小于K的面积最小的子矩阵(矩阵中元素个数为矩阵面积) 输入: 每个案例第一行三个正整数N,M<=100,表示矩阵大小,和一个整数K 接下 ...
- IT公司100题-35- 求一个矩阵中最大的二维矩阵(元素和最大)
问题描述: 求一个矩阵中最大的二维矩阵(元素和最大).如: 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 中最大的是: 4 5 9 10 分析: 2*2子数组的最大和.遍历求和,时 ...
- 【组合数学+动态规划】在如下8*6的矩阵中,请计算从A移动到B一共有____种走法。要求每次只能向上或向右移动一格,并且不能经过P。
在如下8*6的矩阵中,请计算从A移动到B一共有__种走法.要求每次只能向上或向右移动一格,并且不能经过P. A:456 B:492 C:568 D:626 E:680 F:702 解析: 8*6的矩阵 ...
- .net环境下从PDF文档中抽取Text文本的一些方法汇总
1.PDFBox的IKVM版本:据我所知,目前只有PDFBox的IKVM版本能比较好地从PDF中提取文本,PDFBOX更多信息请访问http://www.pdbox.org,关于其应用实例,可以参考C ...
- [51NOD1024] 矩阵中不重复的元素(数学,精度)
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1024 因为n和m都到100了,所以直接快速幂硬算一定会爆炸,考 ...
- [google面试CTCI] 1-7.将矩阵中特定行、列置0
[字符串与数组] Q:Write an algorithm such that if an element in an MxN matrix is 0, its entire row and colu ...
随机推荐
- 1--HTTP基础知识
1. HTTP工作流程 客户端与服务器要建立连接(TCP) 客户端向服务端发起HTTP请求 服务器做出应答,表示对客户端请求的应答 客户端接受服务器所返回的信息 2. HTTP之URL 协议部分:HT ...
- 前端基础HTML以及常用的标签
cs模式:--- c:client server bs模式:---Browser server 1.WEB标准的概念及组成 网页主要有三部分组成: a:结构 -- 主要标准:XHTML和XML ...
- python基础1-转自金角大王
Python之路,Day1 - Python基础1---转自金角大王 本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 ...
- invalid context 0x0.
在展示图片或者做二维码的时候,若是宽或者高有一个为零的情况就会报错:CGBitmapContextCreateImage: invalid context 0x0. If you want to se ...
- 学习Linux下的文件目录管理
文件目录管理 一.认识Linux文件系统的架构 在Linux中是没有盘符这个概念的,即Linux中没有C盘和D盘的分盘.那么我们直接通过对目录的操作实现对磁盘的读写,因 ...
- Python学习之路基础篇--11-12Python基础,函数的装饰器
对于装饰器来说,就是在不改变函数的调用的情况下,对函数的前后增加了些许功能,这完全符合函数的 开放封闭 原则.装饰器的本质 其实就是一个闭包函数. 这是一个装饰器的步骤图 ret = func(*ar ...
- 论文笔记——An online EEG-based brain-computer interface for controlling hand grasp using an adaptive probabilistic neural network(10年被引用66次)
题目:利用自适应概率网络设计一种在线脑机接口楼方法控制手部抓握 概要:这篇文章提出了一种新的脑机接口方法,控制手部,系列手部抓握动作和张开在虚拟现实环境中.这篇文章希望在现实生活中利用脑机接口技术控制 ...
- 田螺便利店—filezilla实现Linux和windows通信(二)
filezilla,FileZilla是一个免费开源的FTP软件,分为客户端版本和服务器版本,具备所有的FTP软件功能.可控性.有条理的界面和管理多站点的简化方式使得Filezilla客户端版成为一个 ...
- contos7搭建syslog服务端与客户端
搭建中心服务端1,编辑文件/etc/rsyslog.conf,找到以下内容,将前面的#注释符合去除#$ModLoad imtcp#$InputTCPServerRun 514 2,在/etc/rsys ...
- web页面弹出窗口代码大全
//-----------按钮提示框----------// <input type="button" name="btn2" id="btn2 ...