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

打 印 菱 形

本题要求你写个程序打印成菱形的形状。例如给定17个符号,要求按下列格式打印

  *
 ***
*****
 ***
  *

所谓“菱形形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数从1开始先从小到大顺序递增,再从大到小递减到1;首尾符号数相等。

给定任意N个符号,不一定能正好组成一个菱形。要求打印出的菱形能用掉尽可能多的符号。

输入格式:

输入在一行给出1个正整数N(≤107)。

输出格式:

首先打印出由给定符号组成的最大的菱形形状,最后在一行中输出剩下没用掉的符号数。

输入样例:

14

输出样例:

  *
 ***
*****
 ***
  *
1

代码长度限制

16 KB

时间限制

800 ms

内存限制

64 MB

栈限制

8192 KB

我的思路:

其实这种题全是找规律,慢慢找,最好找张纸写一写,上代码:

我的代码:

#include<iostream>
using namespace std;
int main(){
    int i = 0;
    int n;
    cin>>n;
    int sum = 1;
    int cnt = -2;
    while(sum + 2*i <= n){
        sum+= 2*i; 
        cnt+=2;
        i+=2;
    }
    cnt /= 2;
    for(int i = -cnt;i <= cnt;i++){
        for(int j = 0;j < abs(i);j++){
            printf(" ");
        }
        for(int j = 0;j < 2*(cnt - abs(i))+1;j++){
            printf("*");
        }
        putchar('\n');
    }
        printf("%d",n - sum);
    return 0;
}
/*
  *
 ***
*****
 ***
  *
1
*/

到这里就结束啦!!!

欢迎小伙伴们评论区讨论,提问。

我是荒古前,期待你的关注~~~

~~~完结撒花✌y( •̀ ω •́ )y✌~~~


http://www.kler.cn/a/444875.html

相关文章:

  • go-zero(十四)实践:缓存一致性保证、缓存击穿、缓存穿透与缓存雪崩解决方案
  • YOLOv8目标检测(七)_AB压力测试
  • Mamba安装环境和使用,anaconda环境打包
  • 源码分析之Openlayers中MousePosition鼠标位置控件
  • Linux环境下 搭建ELk项目 -单机版练习
  • 系统移植——Linux 内核顶层 Makefile 详解
  • Gartner发布2025年网络安全主要趋势:实现转型和嵌入弹性两大主题下的9个趋势
  • Linux性能监控命令_nmon 安装与使用以及生成分析Excel图表
  • 基于注意力机制的ResNet优化算法(三种注意力机制+源码+pytorch)
  • 4、交换机IP接口功能
  • git 删除鉴权缓存及账号信息
  • 基于时间情境创造与 AI 智能名片 S2B2C 商城小程序源码的零售创新策略研究
  • 从零开始学习HTML5
  • 【Linux】文件IO--read/write/缓冲区(详)
  • 防火墙规则配置错误导致的网络问题排查
  • 用C#(.NET8)开发一个NTP(SNTP)服务
  • windwos defender实现白名单效果(除了指定应用或端口其它一律禁止)禁止服务器上网
  • pycharm debug
  • 网络安全概论——入侵检测系统IDS
  • 使用python的模块cryptography对文件加密
  • PostgreSQL:pg_stat_statements
  • 90度Floating B to B 高速连接器信号完整性仿真
  • Hutool工具包的常用工具类的使用介绍
  • PostgreSQL技术内幕21:SysLogger日志收集器的工作原理
  • 鸿蒙 NEXT 开发之后台任务开发服务框架学习笔记
  • 一款特别有趣的 Minecraft(我的世界)游戏服务器项目:Pumpkin