天梯练习题集

在这里插入图片描述

欢迎来到Cefler的博客😁
🕌博客主页:折纸花满衣
🏠个人专栏:题目解析

在这里插入图片描述


目录

  • 👉🏻L1-002 打印沙漏
  • 👉🏻L1-011 A-B

👉🏻L1-002 打印沙漏

mycode:

#include<iostream>
using namespace std;
int main()
{//中间行的符号数一定为1,上下符号数相同//所以假设要用x个符号来打印,上下符号数分别为x-1//2//符号数确定打几行:等差数列;行数越多,意味着符号用的越多int N;int remain;char c;cin>>N>>c;if(N<7){remain = N-1;cout<<"*"<<endl;cout<<remain<<endl;return 0;}int use = N-1;//use是我们要用多少符号数,默认先将中间行的一颗符号去掉for(int i = use;i>=0;i--){if(i%2==0)//说明上下符号数相同才能进来{//接下里我们单看上/下部分,是否满足等差数列和int partsum = i/2;int count = 0;for(int j = 3;;j+=2){count+=j;if(count>partsum){//说明不满足,则退出break;}else if(count==partsum){//满足,说明此时的符号数是能用掉尽可能多的符号数了use = i;goto end;//跳出循环}}}}end:use+=1;//把中间符号加回来remain = N-use;//接下来进行打印//我们可以将符号存进容器中,顺序和逆序打印vector<string> v;v.push_back(string(1,c));//第一个元素肯定是中间行的一个cint partsum = (use-1)/2;for(int i = 3;;i+=2){string s;for(int j = 0;j<i;j++){s+=c;}partsum-=i;v.push_back(s);if(!partsum)break;}int sz = v.size();//打印上半部分 for(int i = sz-1;i>=0;i--){//打印空格for(int j = 0;j<sz-i-1;j++)cout<<" "; cout<<v[i]<<endl;}//下半部分for(int i = 1;i<v.size();i++){//打印空格for(int j = 0;j<sz-i-1;j++)cout<<" "; cout<<v[i]<<endl;}cout<<remain<<endl;return 0;}

字符用to_string变为字符串会用的是ASCII码的整型值,所以上述用了匿名函数

参考代码:

#include <stdio.h>
#include <math.h>
int main()
{int n;char c;scanf("%d %c", &n, &c);int h = sqrt((n + 1) / 2);    //h为倒沙漏的层数for (int i = 0; i < h; i++)    //打印上半层沙漏{for (int j = 0; j < i; j++)printf(" ");for (int j = 0; j < 2 * (h - i) - 1; j++)printf("%c", c);printf("\n");}for (int i = 2; i <= h; i++)    //打印下半层沙漏{for (int j = 0; j < h - i; j++)printf(" ");for (int j = 0; j < 2 * i - 1; j++)printf("%c", c);printf("\n");}printf("%d", n - 2 * h * h + 1);return 0;
}

这里用到了公式:h = sqrt((n + 1) / 2); //h为倒沙漏的层数

所以可以得到奇数层的符号数总数公式:n = 2 * h * h-1.
偶数层的话为:n = 2 * h * h;

注:h为上半层的长度(若为奇数层,则包括中间行)

👉🏻L1-011 A-B

mycode:

#include<bits/stdc++.h>
#include<string>
using namespace std;
int main()
{string s1, s2;getline(cin, s1);//中间不需要getchar()getline(cin, s2);size_t pos = 0;while (pos != string::npos){pos = s1.find_first_of(s2);if (pos!= string::npos)s1.erase(s1.begin()+pos);//+s1.begin()避免迭代器失效}cout << s1 << endl;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/779601.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

嵌入式linux学习之交叉编译器安装

交叉编译器介绍 ARM 裸机、Uboot 移植、Linux 移植这些都需要在 Ubuntu 下进行编译&#xff0c;编译就需要编译器&#xff0c;在 Liux 进行 C 语言开发里面使用 GCC 编译器进行代码编译&#xff0c;但是 Ubuntu 自带的 gcc 编译器是针对 X86 架构的&#xff01;而我们现在要编…

通过keil MDK生成静态库以减少编译时间

当我们的程序复杂度提高,代码量增大,每次编译都会花费更多的时间,虽然相比较Linux动则好几个小时的编译时间,单片机编译的时间已经算很短了,但是一个200多KB的程序编译也得需要好几分钟。如果将一些成熟固定,几乎不会再去修改的程序编译成静态库,那么可以减少一部分编译…

【一竞技CS2】Falcons战队官宣签下传奇老将dupreeh

1、最近Falcons战队正式官宣签下传奇老将dupreeh&#xff0c;这位31岁的选手将填补BOROS被下放后留下的空缺。加入Falcons后&#xff0c;dupreeh将与老队友Magisk、zonic重聚。dupreeh和他们在Astralis曾一起取得过显赫的成绩&#xff1b;在Vitality时期&#xff0c;dupreeh和老…

智慧公厕,为智慧城市建设注入了新的活力

随着智慧城市的快速发展&#xff0c;公共厕所不再是简单的功能设施&#xff0c;而是成为了提升城市形象、改善民生服务的重要一环。智慧公厕作为新形态的公共厕所&#xff0c;通过精准监测公厕内部的人体活动状态、人体存在状态、空气质量情况、环境变化情况、设施设备运行状态…

利用lidar生成深度图

前言 目前&#xff0c;深度图像的获取方法有&#xff1a;激光雷达深度成像法、计算机立体视觉成像、坐标测量机法、莫尔条纹法、结构光法等。针对深度图像的研究重点主要集中在以下几个方面&#xff1a;深度图像的分割技术&#xff0c;深度图像的边缘检测技术&#xff0c;基于…

真心建议今年拿下软考证书,再不冲就晚了!

随着国家计算机与软件技术的发展&#xff0c;每年报名参加计算机软件资格考试&#xff08;简称&#xff1a;软考&#xff09;的人越来越多。 据工信部新闻发布会消息&#xff1a;2023年有超500万人都在考软考&#xff0c;报名人数较2020年直翻10倍。 据悉&#xff0c;国内持软…

HTTP(1)

目录 一、认识HTTP协议 理解 应用层协议 二、fiddler的安装以及介绍 1、fiddler的安装 2、fiddler的介绍 三、HTTP 报文格式 1、http的请求 2、http的响应 五、认识URL 六、关于URL encode 一、认识HTTP协议 HTTP 全称为&#xff1a;“超文本传输协议”&#xff0c;是…

代码随想录算法训练营第35天| 435. 无重叠区间、763.划分字母区间、56. 合并区间

435. 无重叠区间 题目链接&#xff1a;无重叠区间 题目描述&#xff1a;给定一个区间的集合 intervals &#xff0c;其中 intervals[i] [starti, endi] 。返回 需要移除区间的最小数量&#xff0c;使剩余区间互不重叠 。 解题思想&#xff1a; 这道题目和射气球很像。 *“需…

源支付V7免授权版2.99,精心修复各种打不开错误问题

源支付V7免授权版2.99&#xff0c;精心修复各种打不开错误问题 前几次花钱购买都有点问题&#xff0c;这次购买这个版全部测试功能正常 本站一次性修复各种打不开提示提示&#xff0c;祝你使用愉快&#xff0c; 其他说明&#xff1a;其他文件全部没加密&#xff0c;只有8.1这…

Linux(4)常见操作整理-静态路由-双网卡-文件上传下载-运维思路-性能监测方法-jar包查找

五、常见操作 1、静态路由配置 【描述】&#xff1a;当前ifconfig eno16777728 对应ip&#xff1a;172.41.0.120 【解决】&#xff1a; &#xff08;1&#xff09; [rootlocalhost ~]# cd /etc/sysconfig/network-scripts/ &#xff08;2&#xff09; 添加文件&#xff1a…

【CTFshow 电子取证】套的签到题

&#x1f36c; 博主介绍&#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 hacker-routing &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【应急响应】 【Java、PHP】 【VulnHub靶场复现】【面试分析】 &#x1f389;点赞➕评论➕收…

Vue生命周期,从听说到深入理解(全面分析)

每个 Vue 组件实例在创建时都需要经历一系列的初始化步骤&#xff0c;比如设置好数据侦听&#xff0c;编译模板&#xff0c;挂载实例到 DOM&#xff0c;以及在数据改变时更新 DOM。在此过程中&#xff0c;它也会运行被称为生命周期钩子的函数&#xff0c;让开发者有机会在特定阶…

HCIP的学习(6)

OSPF—开放式最短路径优先协议 动态路由的评判标准 1、占用资源 2、收敛速度 3、选路动态路由分类&#xff1a; IGP---内部网关协议DV型---距离矢量型---RIPLS型---链路状态型---OSPFEGP---外部网关协议OSPF---无类别的路由协议&#xff08;携带真实掩码&#xff09;组播224.0…

你管这破玩意叫网络

你是一台电脑&#xff0c;你的名字叫 A 很久很久之前&#xff0c;你不与任何其他电脑相连接&#xff0c;孤苦伶仃。 直到有一天&#xff0c;你希望与另一台电脑 B 建立通信&#xff0c;于是你们各开了一个网口&#xff0c;用一根网线连接了起来。 用一根网线连接起来怎么就能…

【JavaEE】Thread类中run和start的区别

文章目录 先说结论Run方法Start方法 先说结论 当你想要创建一个新的线程并执行某些任务时&#xff0c;你应该重写run方法以提供任务的具体实现&#xff0c;并通过调用start方法来启动新线程 run方法包含了线程应该执行的代码&#xff0c;但直接调用它并不会启动新的线程。 s…

斜率优化dp 笔记

任务安排1 有 N 个任务排成一个序列在一台机器上等待执行&#xff0c;它们的顺序不得改变。 机器会把这 N 个任务分成若干批&#xff0c;每一批包含连续的若干个任务。 从时刻 00 开始&#xff0c;任务被分批加工&#xff0c;执行第 i 个任务所需的时间是 Ti。 另外&#x…

HarmonyOS 应用开发之UIAbility组件启动模式

UIAbility的启动模式是指UIAbility实例在启动时的不同呈现状态。针对不同的业务场景&#xff0c;系统提供了三种启动模式&#xff1a; singleton&#xff08;单实例模式&#xff09;multiton&#xff08;多实例模式&#xff09;specified&#xff08;指定实例模式&#xff09;…

工厂能耗管控物联网解决方案

工厂能耗管控物联网解决方案 工厂能耗管控物联网解决方案是一种创新的、基于先进技术手段的能源管理系统&#xff0c;它深度融合了物联网&#xff08;IoT&#xff09;、云计算、大数据分析以及人工智能等前沿科技&#xff0c;以实现对工业生产过程中能源消耗的实时监测、精确计…

鸿蒙OS开发实战:【Socket小试MQTT连接】

本篇分享一下 HarmonyOS 中的Socket使用方法 将从2个方面实践&#xff1a; HarmonyOS 手机应用连接PC端 SocketServerHarmonyOS 手机应用连接MQTT 服务端 通过循序渐进的方式&#xff0c;全面了解实践HarmonyOS中的Socket用法 学习本章前先熟悉文档开发知识更新库gitee.com…

Pytorch入门实战 P4-猴痘图片,精确度提升

目录 一、前言&#xff1a; 二、前期准备&#xff1a; 1、设备查看 2、导入收集到的数据集 3、数据预处理 4、划分数据集&#xff08;8:2&#xff09; 5、加载数据集 三、搭建神经网络 四、训练模型 1、设置超参数 2、编写训练函数 3、编写测试函数 4、正式训练 …