当前位置: 首页 > news >正文

C++ 沙漏图案(Hour-glass Pattern)

给定正整数 n,以沙漏形式打印数字模式。
示例:

输入:rows_no = 7

输出:

1 2 3 4 5 6 7
 2 3 4 5 6 7
  3 4 5 6 7
   4 5 6 7
    5 6 7
     6 7 
      7
     6 7
    5 6 7
   4 5 6 7
  3 4 5 6 7
 2 3 4 5 6 7
1 2 3 4 5 6 7

// CPP code for hour glass 
// pattern. 

#include <iostream> 
using namespace std; 
  
// Function definition 
void pattern(int rows_no) 

    int i, j, k; 
  
    // for loop for printing 
    // upper half 
    for (i = 1; i <= rows_no; i++) { 
  
        // printing i spaces at 
        // the beginning of each row 
        for (k = 1; k < i; k++)  
            cout << " "; 
          
        // printing i to rows value 
        // at the end of each row 
        for (j = i; j <= rows_no; j++)  
            cout << j << " ";         
  
        cout << endl; 
    } 
  
    // for loop for printing lower half 
    for (i = rows_no - 1; i >= 1; i--) { 
  
        // printing i spaces at the 
        // beginning of each row 
        for (k = 1; k < i; k++)  
            cout << " "; 
          
  
        // printing i to rows value 
        // at the end of each row 
        for (j = i; j <= rows_no; j++)  
            cout << j << " ";         
  
        cout << endl; 
    } 

  
// Driver code 
int main() 

    // taking rows value from the user 
    int rows_no = 7; 
  
    pattern(rows_no); 
    return 0; 

输出 :

1 2 3 4 5 6 7
 2 3 4 5 6 7
  3 4 5 6 7
   4 5 6 7
    5 6 7
     6 7 
      7
     6 7
    5 6 7
   4 5 6 7
  3 4 5 6 7
 2 3 4 5 6 7
1 2 3 4 5 6 7 

时间复杂度: O(rows_no*rows_no),其中rows_no是从用户获取的行值。

空间复杂度: O(1),因为我们不使用任何额外的空间。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • JavaScript_语法_运算符_一元运算符
  • Python面试题:结合Python技术,如何使用Alembic进行数据库迁移管理
  • Spring框架中依赖注入实现手段的选择(基于XML 或 基于注解)
  • 新装centos7虚拟机如何配置网络,NAT配置固定IP
  • Android Studio运行报错:module java.base dose not “opens java.io“ to unnamed module
  • 特斯拉财报看点:FSD拳打华为,Robotaxi 脚踢百度
  • Java类加载器实现机制详细笔记
  • Stable Diffusion WebUI本地环境搭建
  • kafka详解及应用场景介绍
  • 当你在浏览器扣下域名时。。。
  • (自适应手机端)行业协会机构网站模板
  • 系统模块时序图的重要性:解锁系统模块交互的全景视图
  • 【Gin】深度解析:在Gin框架中优化应用程序流程的责任链设计模式(下)
  • 哪些地区适合作EOD项目?
  • 如何选择合适的自动化测试工具!
  • .pyc 想到的一些问题
  • 【附node操作实例】redis简明入门系列—字符串类型
  • CentOS7简单部署NFS
  • centos安装java运行环境jdk+tomcat
  • JAVA SE 6 GC调优笔记
  • Java 内存分配及垃圾回收机制初探
  • learning koa2.x
  • Promise初体验
  • PV统计优化设计
  • scrapy学习之路4(itemloder的使用)
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • 半理解系列--Promise的进化史
  • 分享自己折腾多时的一套 vue 组件 --we-vue
  • 高程读书笔记 第六章 面向对象程序设计
  • 缓存与缓冲
  • 前端性能优化——回流与重绘
  • 前嗅ForeSpider教程:创建模板
  • 悄悄地说一个bug
  • 如何编写一个可升级的智能合约
  • 什么软件可以剪辑音乐?
  • 最近的计划
  • ​ 全球云科技基础设施:亚马逊云科技的海外服务器网络如何演进
  • ​字​节​一​面​
  • # dbt source dbt source freshness命令详解
  • #include
  • #大学#套接字
  • #考研#计算机文化知识1(局域网及网络互联)
  • (32位汇编 五)mov/add/sub/and/or/xor/not
  • (7) cmake 编译C++程序(二)
  • (7)svelte 教程: Props(属性)
  • (k8s)kubernetes 部署Promehteus学习之路
  • (第61天)多租户架构(CDB/PDB)
  • (过滤器)Filter和(监听器)listener
  • (十五)使用Nexus创建Maven私服
  • (算法)前K大的和
  • (贪心 + 双指针) LeetCode 455. 分发饼干
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • (转)Sublime Text3配置Lua运行环境
  • (转)Unity3DUnity3D在android下调试
  • (转载)OpenStack Hacker养成指南