PTA团队天梯赛║L1-015 跟奥巴马一起画方块

PTA团队天梯赛║L1-015 跟奥巴马一起画方块

一、题目要求

美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧!

输入格式:

输入在一行中给出正方形边长N(3≤N≤21)和组成正方形边的某种字符C,间隔一个空格。

输出格式:

输出由给定字符C画出的正方形。但是注意到行间距比列间距大,所以为了让结果看上去更像正方形,我们输出的行数实际上是列数的50%(四舍五入取整)。

输入样例:

10 a

输出样例:

aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa

二、解题思路

题目关键在于控制输出,因为是整数除以2,所以四舍五入利用偶数直接除以,奇数将除以结果加一实现,然后用两层循环输出,内循环输出一行内所有字符,外循环输出空行保证有字符的行数是列数的50%。

三、代码

#include <iostream>

using namespace std;

int main()
{
   int n, p;
   char c;
   cin >> n >> c;
   if(n<3 || n>21) return 0;

   if(n%2==0) p = n/2;  //控制四舍五入
   else p = n/2 + 1;

   for(int i=0; i<p; i++)
   {
       for(int j=0; j<n; j++)
       {
           cout << c;
       }
       cout << endl;
   }

    return 0;
}

四、反思总结

题目难度不大,掌握好行与列输出的关系比较容易解题。

热门文章

暂无图片
编程学习 ·

Qt QTreeWidget的级联选中

在使用QTreeWidget显示文件树时,需要对树的节点做一些功能的限制:勾选某一节点时,该节点的子项自动全部选中 子项部分勾选时,父节点状态为部分勾选 子项全部勾选时,父节点自动设置勾选首先,查看了Qt文档,发现竟然没有提供这个功能,所以自己写了一个简单的例子。 先看效…
暂无图片
编程学习 ·

3.1.1 Jsoup环境搭建

Jsoup是一款基于Java语言开发的开源项目,主要用于请求URL获取网页内容、解析HTML和XML文档。使用Jsoup可以非常轻松地构建一些轻量级的网络爬虫。 在Idea或者Eclipse中创建Maven工程,并在Maven工程的pom.xml文件中添加Jsoup对应的dependency,本专栏采用的版本是1.11.3。 <…
暂无图片
编程学习 ·

latex在线编辑公式(可快速查看latex码)

在发表论文时,常常会用到latex进行排版,但是会遇到mathtype转换为latex的问题,这里提供了一个latex在线编辑公式的网址,效果如下: http://latex.codecogs.com/eqneditor/editor.php
暂无图片
编程学习 ·

MIT 计算机操作环境导论Missing Semester Lesson 10 Q&A

最后一节课,我们回答学生提出的问题:学习操作系统相关内容的推荐,比如进程,虚拟内存,中断,内存管理等你会优先学习的工具有那些?使用 Python VS Bash脚本 VS 其他语言?source script.sh 和 ./script.sh 有什么区别?各种软件包和工具存储在哪里?引用过程是怎样的? /bi…
暂无图片
编程学习 ·

LeetCode_Everyday:021 Merge Two Sorted Lists

LeetCode_Everyday:021 Merge Two Sorted Lists题目:示例:代码参考此外 LeetCode Everyday:坚持价值投资,做时间的朋友!!! 题目: 将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例:示例 1:输入:1->2->4, 1-…
暂无图片
编程学习 ·

洛谷P2921 Trick or Treat on the Farm G

题意:每一只奶牛都从一个棚栏出发,如果走到一个地方,该地方走过的话,就停止,请问每一只奶牛最多可以走过都是个棚栏。 思路,先找出该有向图中所有的环,然后对每一个环进行缩点,计算每一个环的大小,如果走到一个环中的任意一个点后,一定会出现重复走到一个点,所以就加…
暂无图片
编程学习 ·

XML DOM摘要四(XMLHttpRequest 对象)

什么是 XMLHttpRequest 对象?XMLHttpRequest 对象提供了在网页加载后与服务器进行通信的方法。XMLHttpRequest 对象是开发者的梦想,因为您能够:在不重新加载页面的情况下更新网页在页面已加载后从服务器请求数据在页面已加载后从服务器接收数据在后台向服务器发送数据 所有现…
暂无图片
编程学习 ·

flutter textfield设置高度后内容无法居中

Container(height: 50,width: MediaQuery.of(context).size.width * 2 / 3,alignment: Alignment.center,child: TextField(autofocus: true,decoration: InputDecoration(//这行代码是关键,设置这个之后,居中contentPadding: EdgeInsets.all(2),hintText: 请输入手机号,pref…
暂无图片
编程学习 ·

python3 yield关键字简单使用

python3 yield关键字yield简单介绍如何改变文本的样式简单实例为什么需要生成器?实例优势 yield简单介绍 yield <==> 生成器 包含yield语句的函数是一个生成器 生成器每次产生一个值(yield语句),函数被冻结,被唤醒后再产生一个值 生成器是一个不断产生值的函数 如何…
暂无图片
编程学习 ·

FFmpeg快速压缩,短视频秒播,视频流m3u8生成

FFMpeg快速压缩test.mp4是视频地址 libx264表示视频编码格式为H.264 crf 表示控制转码,18-28比较合理,18表示无损压缩,28表示有损的压缩,28压缩出来的视频会模糊 test_compressed.mp4表示压缩后的视频路径ffmpeg -i test.mp4 -vcodec libx264 -crf 22 -preset veryfast -c:…
暂无图片
编程学习 ·

k8s(1)

k8s-集群搭建的三种方式,目前主流的搭建k8s集群的方式有kubeadm、minikube,二进制包。kubeadm 是一个工具,用于快速搭建kubernetes集群,目前应该是比较方便和推荐的,简单易用 kubeadm是Kubernetes 1.4开始新增的特性 kubeadm init 以及 kubeadm join 这两个命令可以快速创…
暂无图片
编程学习 ·

梯度直方图和灰度共生矩阵

下面这三篇文章写的不错:https://blog.csdn.net/guanyuqiu/article/details/53117507https://blog.csdn.net/qq_32892383/article/details/79768684https://blog.csdn.net/qq_32892383/article/details/79779513
暂无图片
编程学习 ·

斐波那契(黄金分割法)查找算法(FibonacciSearch)

斐波那契(黄金分割法)查找算法(FibonacciSearch) 1.基本介绍1)黄金分割点是指把一条线段分割为两部分,使其中一部分与全长之比等于另一部分与这部分之比。取其前三位数字的近似值是0.618。由于按此比例设计的造型十分美丽,因此称为黄金分割,也称为中外比。这是一个神奇的数…
暂无图片
编程学习 ·

数据结构-字典

字典使用哈希表作为底层实现,一个哈希表里面可以有多个哈希表节点,而每个哈希表节点就保存了字典中的一个键值对 哈希表 哈希表由dict.h/dictht结构定义 typedef struct dictht {// 哈希表数组dictEntry **table;// 哈希表大小unsigned long size;// 哈希表大小掩码,用于计算…
暂无图片
编程学习 ·

LeetCode 535. TinyURL 的加密与解密

目录结构1.题目2.题解1.题目TinyURL是一种URL简化服务, 比如:当你输入一个URL https://leetcode.com/problems/design-tinyurl 时,它将返回一个简化的URL http://tinyurl.com/4e9iAk.要求:设计一个 TinyURL 的加密 encode 和解密 decode 的方法。你的加密和解密算法如何设计…
暂无图片
编程学习 ·

vue3.0全家桶

Vue 3.0 全家桶抢先体验 1.vue: Beta 2.vue-router: Alpha 3.vuex: Alpha 4.vue-class-component: Alpha 5.vue-cli: Experimental support via vue-cli-plugin-vue-next 6.eslint-plugin-vue: Alpha 7.vue-test-utils: Alpha 8.vue-devtools: WIP 9.jsx: WIP 可以看到 Vue 3.0…
暂无图片
编程学习 ·

虚拟养老院,新型养老模式,究竟有什么作用呢?-新导智能

提到“虚拟养老院”很多人是不是榜首想到的是好像黑客帝国相同的“虚拟现实”,难道虚拟养老院是把老人冷冻催眠,然后让他们在-个虚拟的精力世界里边实现养老?其实,虚拟养老院没有这么夸大,它只是基于“居家养老”理念提出的一种利用现代化通讯和服务体系建立的养老模式。在…
暂无图片
编程学习 ·

知识图谱数据库《neo4j》安装与配置

一:安装步骤Neo4j是基于Java的图形数据库,运行Neo4j需要启动JVM进程,因此必须安装JAVA SE的JDK。1:liunx环境Neo4j下载地址:https://neo4j.com/download/other-releases/#releases(社区版免费)或者直接在服务器上使用命令下载:curl -O http://dist.neo4j.org/neo4j-commu…