首页 > 编程语言 >L1-002 打印沙漏【团体程序设计天梯赛-练习集】

L1-002 打印沙漏【团体程序设计天梯赛-练习集】

时间:2023-02-28 13:45:56浏览次数:44  
标签:25 沙漏 符号 int 打印 002 给定 L1

L1-002 打印沙漏

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

\[***** \]

\[ *** \]

\[ * \]

\[ *** \]

\[***** \]

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

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

输入格式:
输入在一行给出1个正整数N(≤1000)和一个符号,中间以空格分隔。

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

输入样例:
19 *
输出样例:

\[***** \]

\[ *** \]

\[ * \]

\[ *** \]

\[***** \]

2

代码

点击查看代码
#include<iostream>
#include<cmath>
using namespace std;

const char nl = '\n';
const int N = 25;
int f[N];
void init(){
    for(int i = 1; i < 25; i ++)f[i] = 2 * i * i - 1;
}
int main(){
    init();
    ios::sync_with_stdio(false);
    cin.tie(0),cout.tie(0);
    int n;
    char c;
    cin >> n >> c;		//注意题目输入
    int p = 0;
    for(int i = 1; i < 25; i ++){
        if(f[i] <= n && f[i+1] > n){
            p = i;
            break;
        }
    }
    int res = n - f[p];
    int len = 2 * p - 1;
    for(int i = 1; i <= len; i ++ ){
        int t = p - abs(i-p) - 1;		//按规律输出
        for(int j = t; j; j -- )cout << ' ';
        for(int j = len-2*t; j; j -- )cout << c;
        cout << nl;
    }
    cout << res << nl;
    return 0;
}

标签:25,沙漏,符号,int,打印,002,给定,L1
From: https://www.cnblogs.com/J-12045/p/17163771.html

相关文章

  • 解决atl100.dll文件丢失问题
    ​其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或者......
  • Windows中缺少atl100.dll的解决方法
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或者损......
  • L1-006 连续因子
     题目详情-L1-006连续因子(pintia.cn)  //【解题思路】找到连续因子串的最前面那个因子the_first_one、最大的连续因子个数maxn,即可完成打印//【易错1】素数......
  • 检索COM类工厂中CLSID为{000209FF-0000-0000-C000-000000000046}的组件失败,原因是出现
    检索COM类工厂中CLSID为{000209FF-0000-0000-C000-000000000046}的组件失败,原因是出现以下错误:8000401a因为配置标识不正确,系统无法开始服务器进程。请检查用户名和密码1.......
  • 【Java数据结构和算法】002-数据结构和算法概述
    目录​​一、数据结构和算法的关系​​​​二、实际编程中遇到的问题​​​​1、一段Java代码​​​​代码:​​​​问题:​​​​2、一个五子棋程序​​​​图示:​​​​问题......
  • 0002图像的采样和量化
    目录数字图像数字图像以像素为元素的矩阵,f(x,y)是矩阵中x行,y列的像素值采样:空间分辨率就是普通的分辨率采样:亮度分辨率就是灰度级别,0到256灰度级图像的......
  • 【SQL必知必会】002-基础篇:了解SQL:一门半衰期很长的语言
    【SQL必知必会】002-基础篇:了解SQL:一门半衰期很长的语言文章目录​​【SQL必知必会】002-基础篇:了解SQL:一门半衰期很长的语言​​​​一、概述​​​​二、半衰期很长的SQL......
  • 【Java对象转换】002- Java 对象与 Map 互转
    文章目录​​【Java对象转换】002-Java对象与Map互转​​​​一、Java对象与Map概述​​​​1、Java对象​​​​2、Map​​​​二、Java对象与Map互转​​​​1......
  • 【TypeScript 4.5】002-第 2 章 TypeScript 入门
    【TypeScript4.5】002-第2章TypeScript入门文章目录​​【TypeScript4.5】002-第2章TypeScript入门​​​​一、发现问题​​​​1、字符串​​​​2、函数​​​......
  • 【TypeScript 编程】001-002 第 1 章 导言 与 第 2 章 TypeScript 概述
    【TypeScript编程】001-002第1章导言与第2章TypeScript概述文章目录​​【TypeScript编程】001-002第1章导言与第2章TypeScript概述​​​​第1章......